Skip to main content

Changelog

What's new in Tale?

Release notes for Tale, newest first — published from GitHub Releases.

Sourced from GitHub Releases.

v0.5.62

API contract changes

The contract moved from 2.1.0 to 3.3.0 (136 → 136 operations). Read the API reference's versioning section before upgrading a pinned client.

Added operations: none.

Removed operations: none.

Changelog

3.3.0 — 2026-09-28: Task carries its schedule and how it repeats, read only: startDate and dueDate (epoch ms, present when set), repeat — the new TaskRepeat rule (frequency, interval, anchors, timezone, and createOn: "dueDate" when the next task is also created on the due date) or null when the task does not repeat — and repeatNextTaskId, the task that continues its series once one exists. An approved review (POST …/tasks/{taskId}/review) that closes a repeating task continues its series as a close in the app does.

What's Changed

View on GitHub

v0.5.61

One merged pull request (#3503) and nineteen direct commits since v0.5.60. No migrations, no API contract change (2.1.0), and no proxy or sandbox-runtime image change: run tale update and then tale deploy as usual.

Chat

  • A project member opening a chat someone else shared with the project now reads its messages under the read-only pill, and sees the version the owner has selected rather than the root's replaced branch; Copy, message info and Export stay, nothing that writes. (#3503)

Phones and narrow columns

  • Sign-in, sign-up, 2FA enrolment, the forced password change, onboarding and the root 404 scroll on a phone held sideways or at 200% zoom; a source guard keeps min-h-dvh out of the app. (9887f7223)
  • Settings field rows stack at full width until their own surface is 36rem wide, and a toggle's label and description wrap on a phone instead of truncating. (d65cfeb65, d94268887)
  • Metric strips, breakdown lists, chart pairs and card grids pick their columns from their own width; the branding preview joins the form only once the settings surface is 48rem wide. (855d66dc7, e9f6ce5af)
  • A list toolbar moves its primary action to a line of its own when search, Filter and the action do not fit; the task board shares the same toolbar. (48801017d)
  • A tab strip's actions yield and wrap before a tab slides under the buttons, so the automation editor's Runs tab stays in view at 768px. (838e8d7cb)
  • Automation version and run rows wrap the date instead of the message; chat health's recent errors read on two lines on a phone. (3c33b705b, 651bdb8e3)
  • On a phone the project chats' repeated "Share with project" label is hidden (the switch keeps its accessible name), OAuth app rows wrap their status and buttons, the retention drawer stacks its buttons, and a vendor's name stays readable in the credential picker. (6e0f63e97, d1a0d648a, c1b74da8a, 34f55770c)

Docs and marketing sites

  • The docs breadcrumb shows only the immediate parent below 1024px and truncates a deep trail inside its header strip. (26105b7f8, 0712bd971)
  • The marketing site's footer links wrap inside their column, and the pricing and hardware comparison tables scroll sideways on a phone instead of clipping. (8a7e3af29, 31b88a71f)
  • The UI docs describe field rows, grids and toolbars by their column; the platform's manual responsive suite adds the narrow page column and short viewports, and the app design contract states the rule: viewport breakpoints decide the shell, a page's layout answers to its own column. (67e863e02, 7242c9b0a)

API contract changes

None in this range. The contract stays at 2.1.0: 136 operations.

View on GitHub

v0.5.60

One merged pull request (#3498, the S3 fixes from the 2026-09-26 platform evaluation) and fourteen direct commits since v0.5.59. Migrations 0119–0121 (backfills, applied at boot); API contract 2.0.0 → 2.1.0; the proxy image changes, so run tale update and then tale deploy --stop (recreates db, object-store and proxy with a brief downtime).

Behaviour changes

  • Mounting the WebDAV root /dav/<org>/ now lists two folders, documents/ and .trash/; dot-segment paths (.., %2e%2e) are refused with 404 at the edge and in the app. (#3498)
  • OIDC ID tokens carry acr: "0" (better-auth hard-codes it); relying parties pinned to the bronze URN have not matched since v0.5.45, and the docs now say so. (#3498)
  • The llm-gateway network alias and its NO_PROXY entries, kept since the June rename to sandbox-llm-gateway, are gone. (4f6b3100a)
  • Deleting a project agent clears its task assignments; removing a member revokes every competence grant; feedback is attributed by the rated message. The three migrations backfill the rows written before. (#3498)

Chat

  • A stopped reply settles to its saved text without a reload; "B is better" switches the composer to model B; the losing Arena column goes to Trash at settle. (#3498)
  • The chat assistant finds a task by its KEY-n id; dictation reports a denied microphone; a new chat focuses the message box. (#3498)
  • A ⌘K chat hit shows plain prose cut around the match instead of raw markdown from the start of the message. (d94390c04)

Knowledge

  • Knowledge entries render as Markdown; the copyable id is labelled Version ID; Owners and Admins can pick any team for a document, synced teams included. (#3498)
  • Server refusal reasons reach the user for websites, products and contacts; folder duplicates show the right toast; product forms refuse negative or oversized prices and stock; bulk import names the refused rows instead of rejecting the file. (#3498)
  • Deleting the credential the embedding model uses is refused (CREDENTIAL_IN_USE); deleting a product or replacing its image releases the managed image, legal holds honoured. (#3498)

Projects and tasks

  • Board drops land in the lane under the pointer; opening a task pushes history; a subtask links to its parent; a deep link to a missing task says so. (#3498)
  • Projects pick an icon and colour; an archived project is read-only (PROJECT_ARCHIVED); a mixed upload ends in one summary toast; project rows open from the keyboard. (#3498)

Automations

  • Run lists name who started a run and why it waits; startedVia on run reads. (#3498)
  • One cron validator serves client and server; the Blank wizard previews the schedule and hands over the one-time webhook URL; revoking or rotating a webhook URL asks first. (#3498)
  • Paused and undeployed schedules say so; new trigger bindings start disabled; stopped runs show where they stopped and who stopped them; a deleted automation's runs stay reachable. (#3498)
  • Validation warns about a model the organization does not serve (LLM_MODEL_UNAVAILABLE); a connector node without a usable credential fails before an approval is requested. (#3498)

Governance and settings

  • Team names are unique per organization (TEAM_NAME_TAKEN, also on SCIM); deleting an organization requires typing its name; Branding Reset commits everything in its confirm. (#3498)
  • Lists say "Showing the first N — scroll for more"; a Member's admin deep link is refused once; blocked erasure receipts say when a hold was released; Trash names chats. (#3498)
  • Chat-health merges provider-less rows; harness-turn metrics add up and name the harness. (#3498)
  • Password policy rules are switches like every other toggle; the account's change-password section is titled Password; an unconfigured OAuth app is explained once, not under every row. (8fe16bf8b, b66ed24de, 858a7aa9e)

Developer surfaces and shell

  • Docs search indexes whole pages and keeps inline code, so error codes, headers and env vars are findable. (#3498)
  • Cold-load JavaScript drops from 2604 to 1928 KB gzipped, and the build guards the budget. (#3498)
  • The offline overlay fires on offline and while the backend is unreachable; light-theme muted text and sidebar ages meet AA contrast. (#3498)
  • The environment reference drops the RAG_RERANKING_* variables nothing reads; the image no longer sets SANDBOX_STORAGE_INTERNAL_BASE_URL. (bd2c51806, 6d04ce701)
  • Dead code and 23 unused platform dependencies are removed: unrendered UI, the Slack notification renderer, the Convex upload lane, app doors nothing called. (94145ddb5, acc87b91d, 271a8df5b, f1c5d4255, 5c89086b2, fe56bd8f9)

API contract changes

The contract moved from 2.0.0 to 2.1.0 (136 → 136 operations). Read the API reference's versioning section before upgrading a pinned client.

Added operations: none.

Removed operations: none.

Changelog

2.1.0 — 2026-09-27: startedVia (schedule | webhook | event) on RunSummary and Run — which kind of trigger started a trigger:<id> run, read off the run's own input so it stays true after the binding changes kind; absent on a run a person or an API key started. A listing could not tell a scheduled run from a webhook delivery before. DELETE /api/v1/products/{id} answers 409 LEGAL_HOLD_ACTIVE under an organization-wide legal hold or a custodian hold on the uploader of the product's image, the way document and contact deletes do — the response is now documented on the operation.

View on GitHub

v0.5.58

What's Changed

View on GitHub

v0.5.56

One merged pull request since v0.5.55 (#3491): the S2 fixes from the 2026-09-26 platform evaluation. Migration 0114 (one nullable column, applied at boot); new sandbox-runtime image; tale deploy as usual.

Chat

  • Retry then Edit no longer loses a branch: forks attach to the fork point and the switcher counts every sibling. (#3491)
  • A share publishes the branch on screen, and Include newer messages re-takes that branch. (#3491)
  • Knowledge search hits carry the whole chunk instead of 500 characters; product and contact rows carry every user-facing field. (#3491)

Guardrails

  • Order numbers, dates and build numbers are no longer masked as [PASSPORT] / [NZ_IRD]: digits-only national-ID patterns need a context keyword or a valid check digit. (#3491)
  • Docs say the stored message is the masked text. (#3491)

Agents

  • Managed Codex runs start again: the runtime creates CODEX_HOME, the session key no longer lists a model twice, and Codex on a custom DeepSeek connector goes through its Anthropic endpoint. (#3491)
  • A failed run shows the provider's error message and status, not the assistant's last reply. (#3491)
  • Deleting a skill removes it from every agent that has it; an agent that still references a missing skill stops with equipment_missing. (#3491)

Automations

  • Two editor tabs no longer overwrite each other: saving from a stale version gets 409 AUTOMATION_VERSION_STALE, and the editor offers reload or save anyway. (#3491)

Governance and usage

  • Audit log covers team writes (app, Better Auth, SSO sync), API keys, WebDAV app passwords, connector credentials, branding and WebDAV document writes. (#3491)
  • Top models counts chat spend again (a zero audio-seconds field was classifying it as transcription). (#3491)
  • Legacy user: / api-key: / trigger: ledger rows count toward the person they belong to, including the personal cap. (#3491)
  • Typing a partial hex value into the accent colour field no longer freezes the page. (#3491)

Inbox and API

  • A deleted source snapshot closes the mirrored conversation and keeps its messages. (#3491)

App shell

  • A list whose load failed shows an error with Retry instead of the first-run empty state. (#3491)
  • The service worker caches the app shell again (offline page, no Update available prompt on a first visit); the prompt has Later. (#3491)

View on GitHub

v0.5.54

What's Changed

View on GitHub

v0.5.52

Two merged pull requests since v0.5.51 (#3476–#3477). No migration; tale deploy as usual.

Settings and governance

  • New Settings › Governance › Competences page: the register of grants (member, competence, status with its until/since date, granted by, evidence), an Active filter by default, a Grant competence dialog (platform capability or named qualification, expiry Never / 30 / 90 / 365 days, evidence) and a per-row Revoke with confirmation; revoked and expired grants stay as history. (#3476)
  • Competence listings return every live grant plus the newest revoked ones; a long history no longer hides an old grant that still vouches. (#3476)
  • Register refusals (already granted, reserved tale: name, not a member, already revoked) show inline in the grant form, in the admin's language. (#3476)
  • New docs guide platform/admin/governance/competences (EN/DE/FR); the API keys guide and the API reference point to it. (#3476)

SSO and members

  • Role-mapping rules can be reordered (drag handle, up/down); the first matching rule decides the role at sign-in, and the help text and the Enterprise SSO guide now say so. (#3477)
  • Settings › Account shows Your role with the translated role badge and a Manage members link for admins; the profile-menu tooltip shows the translated role. (#3477)
  • Teams table: long synced group names show in full on hover, and the Name column gets most of the width. (#3477)
  • Trash table: long owner names stay in their column and no longer paint over the Trashed badge. (#3477)

View on GitHub

v0.5.51

Ten merged pull requests since v0.5.50 (#3466–#3475). One migration (0113, additive, applied on start); tale deploy as usual.

Inbox

  • A reply leaves from the mailbox that received the thread; an org with two mailboxes on one email connector no longer answers from the default one. (#3468)
  • Rows show the channel a conversation arrived on; the header names the connector or API source; the composer says where the reply goes; the Channel filter works again. (#3470)
  • Picking the current assignee again unassigns them; the assigned row is announced as selected. (#3469)
  • Composing without an email connector shows a warning with a link to connector settings (admins) or an ask-your-admin hint; Send says why it is off. (#3472)

Chat

  • Arena Mode shows the prompt at once and snaps each send to the top of both columns. (#3473)

Contacts and records

  • Phone fields accept digits and + ( ) . - only; the API rejects a phone with letters. (#3467)
  • Record view dialogs drop the empty space and lead with identity facts (website name and ID, contact email); website pages have one search field. (#3472)

Automations

  • A trivial template expression no longer times out when the run carries large node outputs ("evaluation timed out after 100ms"). (#3475)
  • A finished automation run keeps its Run row and Details on the task. (#3475)

Settings and knowledge

  • Opening Settings › Sandboxes no longer removes idle project workspaces; they stay listed while the agent is idle. (#3474)
  • Reindexing from the status badge shows one "Indexing started" toast. (#3466)

AI Gateway

  • ChatGPT accounts show their usage instead of "No usage read yet". (#3471)
  • A Resets in column with a countdown bar beside each usage window; the product name is no longer translated. (#3471)

View on GitHub

Last updated September 29, 2026.

See Tale on your stack

Book a guided demo or talk to the team about self-hosted deployment, pricing, and hardware.