Changelog
Every new feature, improvement, and fix in Sim, the open-source AI workspace, with release notes straight from GitHub.
Bug Fixes
- fix(ci): treat an unreadable cache size as unstable when settling
- fix(browser): harden desktop tool lifecycle
- fix(connectors): stop hydration after rate limits
- fix(ci): stop the layer-cache prune from being able to fail a build
- fix(ci): actually prune the BuildKit layer cache
Other Changes
- test(tools): type the path-safety harnesses instead of erasing with any
- docs(library): update automation-anywhere-alternative
- docs(library): update what-is-an-ai-agent-definition-how-it-works-and-examples
- chore(docs): remove i18n and the five translated locales
Features
- feat(library): Best AI Agents for Slack
- feat(credential-groups): add seventeen OAuth providers
- feat(secrets): reveal visible values to members
- feat(integrations): add Dynamics 365 CRM
- feat(observability): record Redis connection state on failed slot operations
- feat(lambda): add AWS Lambda integration with 50 operations
Improvements
- improvement(ui): soften overflow fade
- improvement(ui): consolidate fade-only overflow
- improvement(usage): add a period-labelled chart to the workspace drill-down
- improvement(tools): retire direct execution
Bug Fixes
- fix(secrets): preserve caret when revealing values
- fix(integrations): validate runtime values the type system only claims to constrain
- fix(lambda): close the remaining contract validation gaps
- fix(dataverse): harden OAuth connection preflight
- fix(execution): release the lease when abort races an undetermined acquisition
- fix(ui): prevent competing sidebar tooltips
- fix(executor): preserve actors for actorless tool calls
- fix(guardrails): route PII validation through app runtime
- fix(execution): treat an undetermined lease as a fallback, not a denial
- fix(knowledge): classify rejected BYOK embedding keys
- fix(logs): prevent dashboard horizontal scrolling
- fix(canvas): show full Agent prompt tooltips
- fix(workflow): stop requiring a human subject on actorless runs
- fix(enterprise): verify invited owner on acceptance
- fix(pricing): correct free-tier credits as one-time, not monthly
Other Changes
- docs(library): update best-ai-agent-builder-2026
- chore(docs): refresh introduction screenshot
- chore(skills): name directExecution as retired in the add-integration checklist
Improvements
- improvement(ci): bound the local Turborepo cache
- improvement(ci): scan CodeQL PRs at the promotion boundary, refresh main daily
- improvement(background): right-size the two knowledge task machines
- improvement(ci): bound docker layer caches and right-size ten runners
- improvement(api): retire route contracts that no route serves
Bug Fixes
- fix(connectors): honor provider retry deadlines
Features
- feat(files): find in an open markdown document with Cmd/Ctrl+F
- feat(usage): add enterprise organization usage monitoring
- feat(mcp): add Codex client configuration
Improvements
- improvement(usage): drop the segmented allowance meter from the usage summary
- improvement(tools): prevent internal request self-hops
- improvement(files): fill the active find match instead of ringing it
- improvement(tables): simplify column dropdown
- improvement(config): gate feature flags by workspace id
- refactor(tools): execute internal operations in process
Bug Fixes
- fix(copilot): say whether a withheld tool call changed anything
- fix: six pre-existing integration defects surfaced by the docs audit
- fix(usage): correct chart clipping, expand truncated rows, add source mix
- fix(docs): stop publishing unsettable params, fix comment blanking
- fix(storage): stop workspace ledger locks from deadlocking on FK key-share
- fix(workflows): authorize automated runs by deployment
Other Changes
- docs(library): update openai-vs-n8n-vs-sim
- docs(usage-tracking): refresh the overview screenshot and correct two stale facts
- docs(library): update ai-agent-vs-chatbot
- docs(library): update what-is-an-mcp-server
- chore(docs): refresh product screenshots
- chore(db): drop orphaned import_* columns from user_table_definitions
Features
- feat(resource-policies): add credential group access policies
- feat(workflows): preserve execution principals
- feat(tinyfish): add TinyFish web agent, search, and fetch integration
- feat(chat): add live voice input waveform
- feat(desktop,cli): support self-hosted desktop installs
- feat(library): Best Dify Alternatives in 2026
Improvements
- improvement(ui): standardize overflow text
- improvement(db): stop declaring retired usage columns ahead of their drop
- improvement(blocks): document child workflow deployment behavior
- improvement(canvas): improve code tooltip readability
- refactor(billing): retire protocol rollout flags
- improvement(cli): automate npm package version bumps
Bug Fixes
- fix(cli): seven defects found by live-testing the CLI against staging
- fix(provenance): derive final-output provenance instead of declaring it unvouchable
- fix(files): fix large file editor performance and selection toolbar placement
- fix(ui): tighten resource header action spacing
- fix(desktop): harden browser and runtime hygiene
- fix(credentials): write an env value and its credential row together
- fix(execution): make function runs rollout-safe
- fix(copilot): scope panel chat drafts per chat
- fix(cli): refuse what the help already says is invalid
- fix(ui): close paste admission edge cases
- fix(chat): guide blocked browser microphone access
- fix(mistral): distinguish response size failures
- fix(landing): reset unmeasurable preview stages
- fix(ui): optimize universal paste handling
- fix(ui): preserve resource view collapse state
- fix(copilot): persist workflow drafts across navigation
- fix(desktop-browser): add recoverable page failure states
- fix(landing): normalize typography weights
- fix(cli): close follow-up gaps
- fix(landing): harden cross-browser compatibility
- fix(knowledge): harden OCR and SharePoint ingestion limits
- fix(landing): stabilize previews across browsers
- fix(v2,cli): second audit pass over the v2 API and CLI
- fix(knowledge): stabilize skipped connector documents
- fix(fireflies): handle nullable transcript metadata
- fix(sandbox): upgrade isolated-vm to 6.2.0
Other Changes
- chore(copilot): sync load_slide_layout into the tool catalog
- docs(self-hosting): correct what a server change clears, and the cert requirement
- docs(blog): update enterprise
Features
- feat(api): publish agent tool input schema
- feat(providers): add GLM-5.3 and GLM-5.3-Flash to Z.ai
- feat(credential-groups): add Atlassian OAuth and invite links
- feat(integrations): add Microsoft Word
- feat(integrations): add Semrush
- feat(slack): launch v2 triggers and backfill custom bots
- feat(api): make the platform operable headless over v2
- feat(library): Best Multi-Agent Frameworks for Production in 2026
Improvements
- improvement(cli): clarify npm package readmes
- improvement(billing): replace daily refresh credits with weekly refresh
- improvement(db): finish workspace file size cutover
- improvement(billing): paginate and parallelize the cycle-close sweep
- improvement(billing): ledger-only usage + period-advance cycle close
- improvement(access-control): wire tool and model permissions into copilot editing
- improvement(tools): tell the model which duplicate tool instance is which
- improvement(privacy): add Data Privacy Framework disclosures
- improvement(workflow): add compact code hover previews
- improvement(tools): support duplicate provider instances
- refactor: remove dead code, orphan modules, and two unused dependencies
- refactor: consolidate three drifted copies, close a gate blind spot, fix stale docs
- refactor: remove dead orchestration entry points and no-op tests
Bug Fixes
- fix(db): harden workspace file size cutover
- fix(tools): extend the transport-deadline disarm to the Node workers
- fix(cli): exit after interactive secret input
- fix(landing): restore section heading weight
- fix(landing): stabilize platform preview motion
- fix(landing): refresh sidebars across landing surface
- fix(landing): refresh workspace sidebar preview
- fix(chat): conceal a missing deployment the way an unreachable one is
- fix(integrations): repair broken endpoints, silent failures, and a path traversal
- fix(v2): stop six responses reporting less than the layer beneath them knew
- fix(docs): validate generated API navigation
- fix(custom-blocks): restore self-host entitlement gate
- fix(microsoft-word): make conditional writes service-enforced and return 400 for bad input
- fix(chat): prioritize workflows across resource menus
- fix(security): require explicit trust for internal tool routes
- fix(cli): correct three descriptions the CLI publishes, and restore --no-recursive
- fix(docs): correct two statements that contradict what they describe
- fix(cli): resolve blockers and majors from a full command-surface audit
- fix(knowledge): harden ingestion pipeline
- fix(workflow): highlight references in code previews
- fix(provenance): classify a latched-but-empty registry's file writes as unrecorded
- fix(copilot): name a count-parallel's branch count
countin the model's read view - fix(tables): prevent truncated sandbox mounts
- fix(sse): rotate workspace streams without gaps
- fix(sse): bound workspace SSE connection lifetime
- fix(ui): unify branded error pages
- fix(memory): close app-service leak paths behind the per-task memory ramp
Other Changes
- chore(tools): correct the bindable-subblock rationale
- chore(flags): remove released feature gates
- chore(skills): drop Cursor Bugbot from the babysit review loop
Features
- feat(setup): add incremental Chat setup
- feat(secrets): let workspace secrets opt out of redaction
- feat(tables): confirm view deletion
Improvements
- refactor: remove five more dead prop chains
- refactor(renderer): drop the isWorkflowRunning prop the views never read
- improvement(provenance): attribute stored-envelope display reads to their execution
- improvement(ui): standardize modal default actions
- refactor: delete code nothing reaches
- refactor(utils): add slugify and adopt it at the eight sites that hand-rolled it
- refactor: replace hand-rolled utilities and dead code with the shared forms
- perf(db): optimize recurring query paths
- improvement(provenance): aggregate and attribute unrecorded durable reads
- improvement(chat): speed up conversation navigation
- improvement(pricing): list Sandboxes as a Max and Enterprise feature
Bug Fixes
- fix(copilot): show custom block names in read tool rows
- fix(consent): enforce consent-aware analytics
- fix(ci): make the utils gate see the wrapped forms of what it bans
- fix(oauth): bind update access to selected credential
- fix(webhooks): requeue deliveries dropped by retryable setup infrastructure failures
- fix(vllm): support LM Studio endpoints
- fix(files): normalize encoded embedded ids
- fix(ci): give push builds a base their audits can actually read
- fix(workflow): hide idle nested subflow end handles
- fix(ci): require a default export before treating a file as a route entry
- fix(ci): stop failing the API audit for adding a compliant route
- fix(ci): walk every route entry the workspace app composes, not just pages and layouts
- fix(react-query): close the lint's blind spots, and the drift they hid
- fix: surface an unbilled run, and clamp the google-docs page cap
- fix(settings): report a failed settings write instead of reporting success
- fix(ci): stop the migration safety audit from passing on a branch it never read
- fix(api): withhold internal failure messages from internal route responses
- fix(files): download a markdown file as a zip only when it really has assets
- fix(files): allowlist the schemes a markdown link may target
- fix(settings): keep billing header stable
Other Changes
- chore(legal): update privacy policy
- chore(lint): turn on the rules that would have caught the dead code
typescript-sdk-v0.2.0
Features
- feat(library): Best No-Code and Low-Code AI Agent Builders in 2026
- feat(bitbucket): add repository webhook triggers
- feat(status): surface major service incidents
- feat(tables): return only selected columns from the Table block query
- feat(custom-blocks): let a publisher decide whether their block's runs reach consumer traces
- feat(secrets): show where a secret is referenced, beside its usage log
- feat(workflows): generate short machine-nature names
- feat(cli): add chat command
- feat(library): Best AI Agent Platforms for Connecting Your Existing Tools
Improvements
- improvement(perf): eight verified cuts to workspace cold-load JavaScript
- improvement(secrets): gate Copilot code mounting at use level
- improvement(navigation): eliminate hidden workspace requests
- improvement(settings): reduce navigation and section load latency
- improvement(menus): band by what the action acts on, not by verb
- improvement(files): improve file sharing UI
- improvement(ship): skip confirmation prompts
- improvement(menus): one separator per menu, before the destructive action
- improvement(perf): cut server-only and unused code out of the workspace client bundles
- improvement(settings): make workspace settings navigation feel instant
- improvement(files): match the preview toolbar's height to the tab strip above it
- improvement(menus): tighten dropdown spacing and cap the @ mention list
- improvement(tabs): fade the tab strip with a mask, and shrink the tab chip
- improvement(tables): backfill default views for existing tables
- improvement(tabs): give the resource tabs a quieter floating look
- improvement(mship): preview recent runs in @ mention, with the logs icon
- improvement(tabs): port resource tabs onto the shared TabStrip
Bug Fixes
- fix(security): isolate rejected OTP attempts
- fix(inbox): stop an unattributed sender inheriting owner write authority
- fix(copilot): enforce the chat's delegated workspace scope across model-steerable server tools
- fix(desktop): stop the OAuth connect callback from failing on a bare-path callback URL
- fix(security): harden public auth rate limits
- Fix knowledge connector sync follow-up
- fix(deployments): stop superseded activations from dead-lettering
- fix(media): stop the ffmpeg output format from choosing its own path
- fix(chat): copy workspace resources as portable links
- fix(chat): copy orchestrator responses as markdown
- fix(charts): confine untrusted chart options to canvas render paths
- fix(terminal): keep running-command tooltips concise
- fix(workflows): scope the canonical sub-block index to the active surface
- fix(media): bound the ffmpeg tool's child processes, inputs and scale targets
- fix(analytics): stop dropping client events captured before PostHog init
- fix(resources): make context menus selection-aware
- fix(csv): neutralize formula-leading exports
- fix(files): read a file nobody vouched for, as an untracked one already is
- fix(uploads): require an explicit byte ceiling on workspace-file downloads
- fix(deploy): resolve subblock values to their configuration on both sides of change detection
- fix(provenance): clear the rows that went unknown after the first repair
- fix(provenance): stop requiring a projection of roots no model sees
- fix(utils): prevent randomInt power-of-two hangs
- fix(auth): recover from SSO provider lookup errors
- fix(kb): let the server say a connector sync is queued
- fix(tables): omit ignored column diagnostics
- fix(knowledge): prevent processing status overlap
- fix(invitations): break outbox import cycle
- fix(tabs): restore the resource header's spacing and clear the scroll fades
- fix(tables): disable dispatcher task retries
- fix(selectors): respect trigger credentials in trigger mode
- fix(workflows): deduplicate generated workflow names
- fix(knowledge,tables): recover abandoned dispatches, bound the sweep and the workbook preview
- fix(delivery): stable provider idempotency tokens, and correctness fixes around them
- fix(security): stop redirects replaying request bodies and leaking credentials
- fix(billing): separate Enterprise reporting periods from Stripe terms
- fix(setup): bump sim-setup to 1.0.1
Features
- feat(enrichments): add LinkedIn profile lookup
- feat(files): mship file writing improvements- #6933
Improvements
- improvement(mship): mship file fixes
Bug Fixes
- fix(webhooks): stop the generic webhook publishing a closed output schema
- fix(knowledge): refund a processing attempt whose dispatch never happened