Tale 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
- feat: run organizations' sandboxes on devices they connect by @yannickmonney in #3504
- fix(platform): destroy the container of a failed agent session by @yannickmonney in #3505
- fix(platform): make embedding credential refusals terminal by @yannickmonney in #3507
- fix(platform): answer a database restart with 503, not a crash or 500 by @yannickmonney in #3506
- feat(platform): fold project metrics from the live task rows by @larryro in #3508
- fix(platform): treat a cancelled request as neither failure nor outage by @yannickmonney in #3510
- fix(platform): recover a tab that outlived a deploy by @yannickmonney in #3509
- fix(platform): bound conversation timestamps, tolerate stored ones by @yannickmonney in #3511
- fix(platform): merge each live transcript flush into the op row by @yannickmonney in #3512
- fix(platform): send an email that carries only an attachment by @yannickmonney in #3514
- fix(platform): show members the password rules they are held to by @yannickmonney in #3515
- fix(platform): report browser defects, not extension or refusal noise by @yannickmonney in #3513
- fix(platform): spare a session with a live turn from the expiry sweep by @yannickmonney in #3516
- fix(platform): re-target the pending review when the reviewer changes by @yannickmonney in #3517
- feat(platform): audit each retention run and what it destroyed by @yannickmonney in #3518
- fix(platform): name the title limit when task_create refuses by @yannickmonney in #3529
- feat(platform): fan out @mentions in task descriptions by @yannickmonney in #3519
- fix(platform): show the server's refusal reasons in the app by @yannickmonney in #3520
- fix(platform): give synced files no extractor reads a terminal status by @yannickmonney in #3540
- feat(platform): index inbound email bodies for chat retrieval by @yannickmonney in #3530
- fix(platform): let task runs call connectors for the run's starter by @yannickmonney in #3528
- fix(platform): log pg-boss's failed polls once per database outage by @yannickmonney in #3548
- fix(platform): read the flat error envelope's code in backendFetch by @yannickmonney in #3539
- chore(platform): label the dev toolchain step as external toolchains by @yannickmonney in #3521
- fix(platform): stop reporting client aborts and unparseable bodies by @yannickmonney in #3536
- fix(ui): answer 404 for a site path carrying a NUL byte by @yannickmonney in #3537
- fix(platform): hold every stored date to the epoch bound by @yannickmonney in #3549
- fix(platform): keep the ElevenLabs key out of the root .env.example by @yannickmonney in #3543
- fix(platform): frame project sharing as settings field rows by @yannickmonney in #3522
- test(platform): port the chat conversation search privacy suite by @yannickmonney in #3541
- feat(platform): reap expired auth sessions once a day by @yannickmonney in #3545
- fix(platform): sweep chat filter events under their retention policy by @yannickmonney in #3544
- fix(platform): collect the render lane's failed sessions by @yannickmonney in #3547
- fix(platform): disable filters over empty, unfiltered lists by @yannickmonney in #3525
- feat(platform): make the contact-support URL configurable by @yannickmonney in #3523
- fix(platform): give uploaded files no extractor reads a terminal status by @yannickmonney in #3556
- fix(platform): retire the schedules and rows of deleted organizations by @yannickmonney in #3550
- fix(platform): keep the org accent legible on every mark it paints by @yannickmonney in #3534
- fix(docs): hash the docs tree in every task that reads it by @yannickmonney in #3553
- feat(platform): refuse an embedding provider that cannot embed by @yannickmonney in #3527
- fix(sandbox): give every harness the built-in visual-aspect-analyzer by @yannickmonney in #3535
- fix(platform): give code and text previews an editor's line rhythm by @yannickmonney in #3524
- fix(platform): name every refused limit in task tools and doors by @yannickmonney in #3546
- feat(platform): add floating mobile navigation that compacts on scroll by @Israeltheminer in #3573
- feat(platform): pause a schedule after five permanent failures in a row by @yannickmonney in #3533
- refactor(platform): drop the retired sandbox tables by @yannickmonney in #3532
- test(platform): keep shutdown clients alive through close by @yannickmonney in #3570
- build(platform): hash the config tree and other files the tests read by @yannickmonney in #3560
- fix(platform): page every settings list alike and create via addAction by @yannickmonney in #3531
- fix(platform): restore reply files on undo and name their remove button by @yannickmonney in #3552
- fix(platform): focus task dialogs when they open by @yannickmonney in #3562
- fix(platform): name the refused field at the app doors and in forms by @yannickmonney in #3538
- fix(platform): treat emailed attachments as mail in retrieval by @yannickmonney in #3555
- fix(platform): make task list titles keyboard accessible by @yannickmonney in #3564
- fix(platform): pin object-store to linux/amd64 by @Israeltheminer in #3571
- fix(platform): list the caller's slugs on every org slug refusal by @yannickmonney in #3526
- fix(docs): hash the ui i18n files the docs tests read by @yannickmonney in #3563
- fix(platform): keep pinned sandboxes pinned through the drift reconcile by @yannickmonney in #3542
- fix(platform): close the reviewer edge cases after re-targeting by @yannickmonney in #3554
- fix(platform): preserve Inbox drafts after upload failures by @yannickmonney in #3566
- fix(ui): stop a multi-button toast action from squeezing beside copy by @Israeltheminer in #3574
- fix(platform): name task limits alike on every door and cut long imports by @yannickmonney in #3577
- fix(platform): name a harness turn by the harness it ran on by @larryro in #3575
- fix(platform): cancel pending Inbox editor work on teardown by @yannickmonney in #3578
- fix(platform): extend 'Not supported' to thread attachments and old rows by @yannickmonney in #3579
- fix(platform): send the live inbox editor document by @yannickmonney in #3568
- fix(platform): take the audit chain before removing a trigger's run by @yannickmonney in #3594
- fix(platform): never preload admin-only policies for a member by @yannickmonney in #3551
- fix(platform): close the trigger doors of deleted organizations by @yannickmonney in #3576
- fix(ui): answer 404 for a site path too long to name a file by @yannickmonney in #3648
- test(platform): make the chat search fake parse the leg's SQL by @yannickmonney in #3649
- test(platform): verify SOPS timeout termination directly by @yannickmonney in #3638
- fix(platform): preserve drafts during session recovery by @yannickmonney in #3569
- fix(platform): clear stale mail stamps in the nightly stamp pass by @yannickmonney in #3668
- fix(platform): harden the configurable contact-support URL by @yannickmonney in #3650
- fix(platform): keep source previews still and legible while they load by @yannickmonney in #3683
- fix(sandbox): answer CPU usage on the first capacity poll by @larryro in #3690
- test(platform): guard the inherited turbo inputs of the test task by @yannickmonney in #3686
- fix(platform): close the schedule pause streak's review follow-ups by @yannickmonney in #3688
- fix(platform): harden data migrations and scope RAG status hints by @yannickmonney in #3687
- feat(platform): move automation versions into the workbench by @Israeltheminer in #3692
- fix(ui): refine update toast action styling by @Israeltheminer in #3693
- fix(platform): restore Safari viewport and lower mobile navigation by @Israeltheminer in #3694
- fix(platform): name tasks, not ids, when dragging by keyboard by @yannickmonney in #3684
- fix(platform): say a lapsed session in words on every surface by @yannickmonney in #3685
- fix(platform): close the app-door refusal review follow-ups by @yannickmonney in #3696
- test(platform): pin the chat search's empty term and cap edges by @yannickmonney in #3697
- fix(platform): drain chat filter events past one batch per run by @yannickmonney in #3702
- fix(ui): keep an open filter panel and a failed read's filter usable by @yannickmonney in #3703
- fix(platform): describe project fields by their settings row's help by @yannickmonney in #3699
- fix(platform): follow up task limits and imports after #3577 by @yannickmonney in #3689
- fix(platform): prevent focus zoom in Safari browser tabs by @Israeltheminer in #3695
- fix(platform): close the accent audit's remaining gaps by @yannickmonney in #3698
- fix(platform): finish the settings-list page sizes and API key focus by @yannickmonney in #3700
- fix(platform): close the fail-open embedding provider refusal by @yannickmonney in #3701
- fix(platform): refresh watchdog ownership after settlement by @yannickmonney in #3727
- fix(platform): keep chat sharing truthful, prefixed and keyboard-usable by @yannickmonney in #3728
- fix(platform): close the #3686-#3688 review leftovers by @yannickmonney in #3740
- fix(platform): release orphaned mail bytes and guard the stamp clear by @yannickmonney in #3739
- fix(platform): strip HTML before truncating an inbox row's preview by @Israeltheminer in #3730
- feat(platform): let tasks repeat, with a reusable recurrence picker by @yannickmonney in #3731
- fix(platform): let the docs seeder settle on the project files list by @yannickmonney in #3760
- test(platform): pin the embedding recommendations route's wire body by @yannickmonney in #3757
- test(platform): pin the chat search's scan order and contact grouping by @yannickmonney in #3758
- fix(platform): word lapsed-session failures and guard the rule by @yannickmonney in #3763
- fix(platform): add or reconnect exactly the OAuth credential chosen by @yannickmonney in #3729
- fix(platform): close the app-door refusal round-two review findings by @yannickmonney in #3765
- fix(ui): keep the reader's focus when a filter bar turns disabled by @yannickmonney in #3764
- fix: stop PR image cleanup failing on retired services by @yannickmonney in #3741
- fix(platform): queue pinned sandbox recreates and unpin before destroy by @yannickmonney in #3762
- fix(platform): close the accent audit's last review findings by @yannickmonney in #3748
- fix(platform): close the task-limits review round after #3689 by @yannickmonney in #3749
- fix(manual): judge NAV-B14's support-URL warning only in a deployment by @yannickmonney in #3761
- fix(platform): preserve recurring task work and series by @yannickmonney in #3771
- fix(ai): stagger gateway token refreshes and resume runs they cut by @yannickmonney in #3742
- feat(platform): make the desktop Home panel resizable by @Israeltheminer in #3768
- fix(ui): localize the date picker and let the keyboard clear it by @yannickmonney in #3759
- feat(platform): tell agents what each equipped skill is for by @yannickmonney in #3775
- fix(docs): send guessed section and /en addresses to a real page by @yannickmonney in #3769
- fix(platform): stop promising skills and images the product does not have by @yannickmonney in #3770
- fix(platform): re-queue renamed synced files and isolate watchdog faults by @yannickmonney in #3782
- fix(platform): close the #3739 mail stamp pass review findings by @yannickmonney in #3785
- test: read browser-test layouts once their eases end, not on a timer by @yannickmonney in #3783
- fix(platform): scope automation runs to the projects the viewer can see by @yannickmonney in #3772
- docs(docs): add a guide to using Tale from an editor or a script by @yannickmonney in #3800
- fix(platform): let admins cap any member's API key in the budget editor by @yannickmonney in #3780
- feat(platform): start new project agents with the document skills ticked by @yannickmonney in #3781
- fix(platform): close the session-lapse review round after #3763 by @yannickmonney in #3795
- feat(platform): ground chat answers about Tale in its documentation by @yannickmonney in #3773
- feat(platform): show readers live automation navigation by @yannickmonney in #3779
- fix(platform): apply the organization's custom instructions to agent runs by @yannickmonney in #3774
- fix(ai): let a small broker pool serve while an account cools down by @yannickmonney in #3794
- fix(platform): hold skill uploads to the owner and team-audience rules by @yannickmonney in #3776
Full Changelog: v0.5.61...v0.5.62