Changelog
Every new feature, improvement, and fix in Sim, the open-source AI workspace, with release notes straight from GitHub.
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
Features
- feat(knowledge): empty state for a base that holds no documents
- feat(resources): empty-state graphics for knowledge, tables, logs, and files
- feat(knowledge): read a PDF's text layer before paying for OCR
- feat(library): AI Agent Orchestration Frameworks Explained
Improvements
- improvement(search): search every folder, and document real API error bodies
- improvement(condition): batch condition evaluation into one sandbox call, and stop the transport from undercutting a route's own deadline
- improvement(settings): drop the Delete account row's description
Bug Fixes
- fix(auth): drop the redundant "Continue with" from the Google sign-in button
- fix(branding): refresh Google branding
- fix(knowledge): say what went wrong when a document's chunks fail to load
- fix(knowledge): stop one env knob from setting the embedding request fan-out
- fix(connectors): treat a zero-byte source file as nothing to index
- fix(settings): drop the settings return url when the workspace changed
Other Changes
- polish(resources): stop the tables grid reappearing past its fade
Features
- feat(secrets): record which secrets each run resolves, and surface it per secret
- feat(consent): manage cookies from Settings, not from a card in the workspace
- feat(account): let users delete their own account
- feat(consent): cookie consent banner and cookie policy
- feat(connectors): hand source files to the document pipeline instead of extracting them
- feat(emails): add sub-processor change notification template
Improvements
- improvement(settings): drop the Privacy row's description
- refactor(consent): fold cookie preferences into General > Privacy
- improvement(ui): give the two full-screen takeovers named design-system layers
- improvement(logs-block): filter runs by trigger type
- improvement(docs): clean up leftovers from the code-block alignment PR
Bug Fixes
- fix(workspaces): explain why org admins can't be removed from a workspace
- DONT MERGE fix(workflow): attach cmdk-added blocks to the selected block
- fix(emcn): prevent leading glyph clipping in chip inputs
- fix(search): prioritize actions and prevent palette clipping
- fix(desktop): guarantee the update feed resolves the newest release
- fix(forks): name the workspace a sync overwrites instead of "target"
- fix(forks): stop copying connector-managed knowledge base documents
- fix(knowledge): parse the stored artifact, not the document's display name
Other Changes
- chore(deps): collapse stale transitive js-yaml pins onto the patched releases
- chore(cli): release 2.1.0
- chore(skills): make public-repo scrubbing explicit in ship and babysit
Features
- feat(cli): follow a run, wait for one, and tail the log
- feat(secrets): let mship add secret descriptions
- feat(jotform): trigger a workflow on every new form submission
- feat(secrets): add optional descriptions to workspace secrets
- feat(files): upload and safely extract ZIP archives
Improvements
- improvement(docs): align code blocks with the platform design system
- perf(table): collapse sequential round trips on the table read and write paths
- improvement(files): make the row the documented owner of module context
Bug Fixes
- fix(credential-groups): pin the clock in the enrollment tests
- fix(forking): stop a parent re-pick blanking a dependent's stored target value
- fix(email): greet SMTP relays with a qualified hostname instead of [127.0.0.1]
- fix(cli): bound, trace, and explain the requests the CLI makes
- fix(cli): name SIM_CONFIG_DIR in help, and fix the similarity score width
- fix(sap_concur): HMAC the token cache key and wire the sendback comment
- fix(cli): keep a path prefix in the login URLs
- fix(cli): identify the CLI to the API and name the remedy on every key refusal
- fix(sap_concur): align the integration with SAP Concur's documented API
- fix(cli): default to the host that serves the API
- fix(files): serve mothership chat attachments stored under a workspace key
- fix(workflows,connectors): close pre-merge audit findings
- fix(cli): resolve findings from a full command-surface audit
- fix(connectors): index Office documents and PDFs from SharePoint and OneDrive
Other Changes
- test(table): pin the row-write behavior the suite could not fail on
- docs(helm): document null as the way to remove an inherited env key
- chore(deps): bump js-yaml to 4.3.1 in sim-cli and drop the aged-out release-age waivers
- chore(deps): upgrade next to 16.3.1, its optimizer no longer deletes live code