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