Tale v0.3.4
What's Changed
- refactor(platform): rebuild enterprise SSO form on settings primitives by @yannickmonney in #2530
- fix(platform): one token-based edge palette for the automation canvas by @yannickmonney in #2531
- feat(platform): group token source form and add test-broker probe by @yannickmonney in #2532
- fix: address the priority subset of round-3 deferred review items by @yannickmonney in #2533
- feat(platform): unify chat @-mention picker with chips and empty states by @yannickmonney in #2534
- fix: finish OpenCode sandbox external-agent integration (Claude Code parity) (#2425) by @larryro in #2499
- fix(cli): un-export unused OrphanedDataVolume interface by @yannickmonney in #2537
- fix(platform): apply brand color to primary-action button token by @yannickmonney in #2483
- feat(platform): derive the branded palette from a single accent color by @yannickmonney in #2538
- feat: implement Gemini CLI as sandbox external agent (#2424) by @yannickmonney in #2535
- test(platform): add docker:dev seeded-login path to manual harness by @larryro in #2539
- fix: tale.dev contact form 503 — WEB_DISCORD_WEBHOOK_URL unset (#2389) by @larryro in #2540
- feat(platform): thread-level sandbox workdir for external-agent chats by @larryro in #2541
- feat(platform): pause issue desk on NEEDS_HUMAN with a shared workflow sandbox by @larryro in #2542
- feat: implement Codex as sandbox external agent (#2422) by @yannickmonney in #2536
- fix(platform): repair i18n orphan and knip gates on main by @yannickmonney in #2547
- feat: implement Pi as a sandbox external agent (#2426) by @yannickmonney in #2550
- fix(platform): clear oxlint errors in tasks queries and approval action by @yannickmonney in #2551
- fix(platform): unify agent detail breadcrumb crumb typography by @yannickmonney in #2557
- fix(platform): keep chat sidebar skeleton until projects load by @yannickmonney in #2556
- feat: implement OpenClaw as sandbox external agent (#2420) by @yannickmonney in #2555
- test(platform): stub SandboxWorkdirChip in toolbar spacing test by @yannickmonney in #2558
- fix(platform): hide project-scoped files from the WebDAV tree by @yannickmonney in #2559
- fix(platform): stop changelog toast re-firing on non-semver builds by @yannickmonney in #2560
- fix(proxy): route /api/health to the platform through Caddy by @yannickmonney in #2562
- fix(platform): make project file attach lifecycle leak-proof by @yannickmonney in #2565
- fix(platform): make apps hub cards link to the app detail page by @yannickmonney in #2566
- fix(sandbox): suppress SAST false positives in pi and openclaw runners by @yannickmonney in #2575
- fix(platform): add missing organization ID description i18n key by @yannickmonney in #2574
- refactor(platform): shrink the desk workflow onto two new step primitives by @larryro in #2548
- feat(platform): inline run_code, workspace uploads, canvas file tree by @larryro in #2582
- fix(platform): scope project files to their owning project by @larryro in #2549
- feat(platform): project folders, @-pinned folders/files, sandbox pin delivery by @larryro in #2583
- feat(platform): explicit run_code modes with packages-only install by @larryro in #2584
- fix(platform): polish app hub, project copy, and mode radios by @AdeolaAdekoya in #2597
- fix(platform): clear the high audit advisory and shrink the Convex push by @yannickmonney in #2587
- fix(platform): fix type-aware lint errors breaking main by @yannickmonney in #2600
- feat(platform): auto-dismiss stale review notifications on resolve by @Israeltheminer in #2593
- feat(platform): let external agents call granted workspace tools by @larryro in #2585
- feat(platform): rework Apps into Automations — naming, install, catalogs by @yannickmonney in #2414
- feat(platform): auto convex-local maintenance and guarded setup:clean by @Israeltheminer in #2590
- fix(platform): agent roster install, crawler pacing, Convex module integrity by @larryro in #2601
- feat(platform): add agent display-category taxonomy helper by @Israeltheminer in #2588
- feat(platform): sync sent IMAP mail into conversations with stable ordering by @Israeltheminer in #2591
- feat(platform): optional separate SMTP provider for imap_smtp by @Israeltheminer in #2592
- docs: journey-first platform docs revamp by @yannickmonney in #2419
- feat(platform): add contacts table and backfill migrations (#2618 expand) by @Israeltheminer in #2621
- feat(web): platform pages, shared SEO, and demo stage polish by @yannickmonney in #2623
- docs: revamp root readme into a visual, benefit-led front door by @yannickmonney in #2624
- Web/docs fixes: docs load flicker, form 503 UX, Conversations → Projects, README roster by @yannickmonney in #2626
- feat(platform): merge customers & vendors into contacts (#2618 switch) by @Israeltheminer in #2622
- chore: consolidate in-flight changes unrelated to the contacts merge by @Israeltheminer in #2625
- feat(platform): compose a new email from contacts by @Israeltheminer in #2627
- refactor(platform): UI polish for tool-selector, prompts, save-prompt by @Israeltheminer in #2628
- feat(platform): migrations framework revamp — version truth, re-homing, full-chain proofs by @yannickmonney in #2629
- feat(web): task-board and sandbox demos, DemoShell a11y by @yannickmonney in #2632
- fix(platform): resolve umbrella epic sub-issues (#2671 #2672 #2673) by @yannickmonney in #2674
- feat(platform): project Files automation desks + sandbox harvest fix by @larryro in #2630
- feat(platform): outcome slots and resolve agent i18n display names by @larryro in #2690
- feat(platform): warn task comment composer while a run executes by @larryro in #2691
- refactor(skills): retire the skills/ root; project all builtin skills by @yannickmonney in #2689
- fix(platform): table empty-state icons + design UX notes by @AdeolaAdekoya in #2692
- fix(platform): polish empty states, settings alignment, and chat key banner by @AdeolaAdekoya in #2704
- docs: fix agent create name rules and drop webhook publish gate by @Israeltheminer in #2698
- fix(ui): restore menu focus after logout confirm dialog closes by @Israeltheminer in #2700
- fix(platform): resolve issues #2675-#2688 + unify settings/metrics ui by @yannickmonney in #2705
- fix(platform): unblock local Convex push (linkedom canvas) + data-safe reset advice by @Israeltheminer in #2706
- fix(platform): invalidate agents list cache after agent save by @larryro in #2708
- feat(platform): workflows become a property of automations — retire the standalone domain by @yannickmonney in #2707
- fix(platform): keep expand tooltip hidden when notifications popover opens by @Israeltheminer in #2695
- fix(platform): name agent-type radiogroup for screen readers by @Israeltheminer in #2696
- docs(platform): align manual guides with shipped agents and canvas UI by @Israeltheminer in #2703
- fix(platform): sort conversations by message send time by @Israeltheminer in #2710
- feat(platform): automation slugs become paths (sub-folders) by @yannickmonney in #2711
- feat(platform): deliver conversation notifications to the assignee by @Israeltheminer in #2694
- feat(platform): surface automation views as project tabs + pack markdown/i18n by @larryro in #2709
- fix(platform): document.list can list a named project's folder files by @larryro in #2713
- fix(platform): expand the desk Files list from "+N more" by @larryro in #2714
- fix(docs): retake every screenshot — no failed badges, skeletons, or empty states by @yannickmonney in #2717
- fix(sandbox): chunk skill stage uploads to avoid 413 by @larryro in #2724
- feat(platform): add Collection list chrome for entity-list layout by @larryro in #2726
- docs: rename the chat "composer" to "chat" across all locales by @yannickmonney in #2725
- docs(platform): document the built-in vector database (bring-your-own Postgres) by @yannickmonney in #2721
- feat(ui): complete and test the web/docs HTTP security headers by @yannickmonney in #2720
- feat(platform): harden YouTube video-link ingestion + pre-warmed browser-session pool by @yannickmonney in #2722
- fix(platform): make document upload + RAG indexing reliable by @yannickmonney in #2719
- feat(platform): per-org bring-your-own knowledge Postgres by @yannickmonney in #2723
- docs: disable GitHub Code Quality (false positives) by @yannickmonney in #2727
- test(platform): self-provision the yt-dlp toolchain for the live test by @yannickmonney in #2729
- test(platform): E2E proof — chat retrieves from a BYO external knowledge DB by @yannickmonney in #2728
- docs: link live MDN Observatory scans in the hardening pages by @yannickmonney in #2733
- feat(platform): per-org object storage (BYO S3) for document + audio blobs by @yannickmonney in #2730
- feat(platform): assign conversations to a member and notify the assignee by @Israeltheminer in #2718
- feat(platform): surface the conversation's real From address by @Israeltheminer in #2732
- fix(platform): finish the composer→chat rename in app strings + manual plans by @yannickmonney in #2734
- feat(platform): backfill existing org blobs into bring-your-own buckets by @yannickmonney in #2735
- feat(platform): org-level data-residency settings panel (BYO knowledge DB + S3) by @yannickmonney in #2736
- test(platform): make live YouTube tests bot-wall-resilient (+ multi-link) by @yannickmonney in #2740
- feat(platform): route chat, video, and TTS blobs through per-org storage by @yannickmonney in #2738
- feat(platform): route import producers (OneDrive/WebDAV/connectors) through the per-org blob seam (#2737) by @yannickmonney in #2742
- feat(platform): support token sources in wizard agent credentials by @larryro in #2743
- fix(platform): stop pdfjs toBase64 shim poisoning JWE encrypt by @larryro in #2747
- fix(platform): stop assignee warning overflowing task modal sidebar by @larryro in #2748
- fix(platform): make captioned-video transcripts retrievable by the agent by @yannickmonney in #2745
- fix(platform): harden per-org storage — S3 serve URLs, large-doc indexing, Test-after-Save by @yannickmonney in #2744
- fix(platform): verify S3 upload size server-side against the product cap (#2731) by @yannickmonney in #2741
- feat(platform): choreograph assignee @-mentions like assignment runs by @larryro in #2749
- fix(platform): make video ingestion work out of the box on dev/self-hosted (#2746) by @yannickmonney in #2751
- fix(platform): data-residency QA hardening — S3 probe errors, bucket Test-after-Save, honest indexing failures by @yannickmonney in #2750
- docs(platform): correct the large-file indexing memory claim by @yannickmonney in #2761
- feat(platform): assign conversations to a team by @Israeltheminer in #2756
- feat(platform): opt-in access control for assigned conversations by @Israeltheminer in #2757
- fix(platform): BYO knowledge DB — vector-only degradation + resumable large-document indexing by @larryro in #2759
- chore(platform): refresh 0.3.4 version-checkpoint fixtures by @larryro in #2763
Full Changelog: v0.3.3...v0.3.4