Changelog
Every new feature, improvement, and fix in Sim, the open-source AI workspace, with release notes straight from GitHub.
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
Features
- feat(library): Best AI Automation Tools in 2026
- feat(byok): add organization-wide key inheritance
- feat(harmonic): add contact workflow integration
- feat(affinity): add Affinity CRM integration
- feat(api): add v2 resource management endpoints
- feat(connectors): add Bitbucket, Databricks, Google Chat, and Workday Help KB connectors
- feat(modal): add Modal Labs integration
- feat(tables): improve view and filter controls
- feat(tables): autosave persisted default views
Improvements
- refactor(search): one definition of what a search occurrence is
- improvement(mothership): v0.9
- improvement(tables): disable the default view's delete action with a tooltip
- improvement(provenance): name the block behind an unprojected input root
Bug Fixes
- fix(connectors): count hard-kill failures and cap deletion blast radius
- fix(combobox): report every open, not just the dismissals Radix initiates
- fix(custom-blocks): give a custom block's logo a tile its header chip can paint
- fix(billing): cast outbox payloads for JSONB operators
- fix(admin): harden dashboard billing operations
- fix(integrations): validation pass over Crunchbase, PitchBook, and CB Insights
- fix(env): put runtime config on so client reads can't outrun it
- fix(copilot): sanitize edit_workflow result state before returning it to the agent
- fix(knowledge): give failed documents a grace while their retries are still scheduled
- fix(knowledge): stop the stuck-document sweep reclaiming still-queued documents
- fix(auth): bound the three unbounded session-policy caches
- fix(knowledge): dispatch document processing from inside Trigger.dev runs
- fix(harmonic): correct the destructive-clear copy and stop double-billing enrichment
- fix(tables): accept plain row query predicates
- fix(enrichments): project provider failures
- fix(og): put the landing model and integration cards on the brandbook template
- fix(connectors): stop rendering running and crashed syncs as successes
- fix(knowledge): stop billing a document once per processing attempt
- fix(og): put the shared-file card on the brandbook cover template
- fix(search): answer a Note match on the canvas card
- fix(webhooks): accept the methods and expose the request metadata the generic webhook advertises
- fix(credentials): hide gated service accounts from connected list
- fix(schedule): reconcile interrupted schedule executions
Features
- feat(integrations): add Bitbucket Cloud
- feat(granola): complete API coverage, note triggers, and connector validation
- feat(sidebar): add Tables and Files flyouts to the collapsed rail
- feat(cbinsights): add CB Insights API v2 integration
- feat(pitchbook): add PitchBook integration
- feat(crunchbase): add Crunchbase Data API integration
- feat(setup): publish standalone self-hosting package
- feat(billing): align enterprise reporting periods
- feat(custom-blocks): join cross-workspace runs into the caller's trace, and map blocks per environment
Improvements
- perf(icons): reduce and guard SVG path precision
- refactor(sub-blocks): make a registered selector the single source for a remote option list, and close the fork-sync reconfiguration gap
Bug Fixes
- fix(icons): restore the Crunchbase mark's counter and framing
- fix(setup): publish unscoped setup package
- fix(integrations): white CB Insights tile and a borderless Crunchbase mark
- fix(bitbucket): bind cursors and task locations case-insensitively
- fix(workflow): prevent canvas slowdown cascades
- fix(workspace-forking): keep a repointed custom block's inputs configurable after the mapping is saved
- fix(workspace-forking): stop a remapped custom block losing every input, and let its target inputs be configured at sync time
- fix(integrations): render one brand icon state everywhere
- fix(trigger): let workers see that Trigger.dev is available
- fix(provenance): stop size limits silently dropping secret provenance
- fix(knowledge): stop retrying an embedding key with no credit left
- fix(redis): reclaim a distributed lock that a timed-out acquire may have taken
Other Changes
- chore: remove confirmed unused files