Changelog
Every new feature, improvement, and fix in Sim, the open-source AI workspace, with release notes straight from GitHub.
Features
- feat(db): auto-apply tracked script data migrations in db:migrate
- feat(custom-block): audit-log publish, update, and unpublish events
Improvements
- improvement(landing): homepage redesign with live hero and real platform UI feature cards
Bug Fixes
- fix(knowledge): accept relative internal file URLs in document processor
- fix(copilot): don't surface custom blocks whose definition was deleted
- fix(api-block): stop spoofing a browser fingerprint on outbound HTTP requests
- fix(tables): canonicalize date cells, render times in effective timezone
- fix(tables): server-authoritative run badge, tail SSE from latest, harden Stop-all
- fix(notion): align integration with live API docs, add block retrieval coverage
Features
- feat(bigquery): validate integration + add dataset/table lifecycle tools
- feat(custom-block): move management to enterprise settings; derive inputs live from deployed start
- feat(gitlab): add release and branch-compare tools, remove dead types
- feat(dub): expand link coverage and fix cross-operation param leakage
- feat(tinybird): validate integration against API, add job-status polling
Improvements
- improvement(email): reply-to [email protected] for lifecycle and billing emails
Bug Fixes
- fix(google-vault): validate against live API docs, add matter/hold/saved-query CRUD coverage
- fix(onedrive): align tools with live Graph API docs, add missing endpoints
- fix(aws): align cloudwatch, cloudformation, athena, codepipeline with live API docs
- fix(microsoft-dataverse): align integration with live API docs, add table metadata tool
- fix(microsoft-planner): align with live Graph API docs, add plan CRUD + categories
- fix(google-maps): validate integration against live API docs, add Places Nearby Search
- fix(google-calendar): align with live API docs, add calendar/ACL update+delete tools
- fix(posthog): validate integration against live API docs, add self-hosted support + CRUD coverage
- fix(gmail): stop wrapping draft/send HTML body in per-paragraph
tags
- fix(microsoft-teams): align tools with live Graph API docs, add missing endpoints
- fix(discord): align tools with live API docs, add missing endpoints
- fix(brightdata): align integration with live API docs, add markdown/mode/error-report support
- fix(dropbox): align integration with Dropbox API docs, add revision/sharing tools
- fix(github): fix response bugs and add missing endpoint coverage
- fix(copilot): surface error cause chain in sim-to-go span status
- fix(granola): align get_note with real API spec (webUrl required, add speakerName)
Other Changes
- test(user-input): assert dismissed mention stays closed across repeated clicks
Features
- feat(textract): migrate to AWS SDK, add AnalyzeExpense and AnalyzeID
- feat(pii): env-driven uvicorn worker count (PII_WORKERS)
- feat(aws): expand SES/STS/Secrets Manager tool coverage, fix API alignment gaps
- feat(attio): add attribute tools + fix API alignment gaps
- feat(ahrefs): validate integration, fix cents/column bugs, add 13 v3 endpoints
- feat(pagerduty): validate integration + add 9 tools for deeper API coverage
- feat(rich-md-editor): table row/col toolbar, raw HTML/footnote support, paste fidelity
Improvements
- improvement(rich-markdown-editor): table column-resize cursor, exhaustive paste tests, editor docs
- improvement(tables): show error message tooltip on errored workflow and enrichment cells
- improvement(microsoft-ad): add pagination support and fill BlockMeta gaps
- improvement(instantly): validate integration against live API, add lead/campaign lifecycle tools
- improvement(new-relic): validate integration against NerdGraph docs, surface more entity fields
- perf(pii): mask offloaded refs + parallelize + raise redaction concurrency
- improvement(settings): align design-system text-scale tokens across settings pages
- improvement(sidebar): memoize workflow/folder rows for faster tab navigation
- refactor(react-query): hoist every staleTime into a named exported constant
- refactor(permissions): make hasWorkspaceAdminAccess and getUserEntityPermissions thin wrappers of checkWorkspaceAccess
Bug Fixes
- fix(user-input): stop @mention/skill menu from reopening after dismiss
- fix(rich-markdown-editor): strict, provenance-aware markdown paste
- fix(ses): reject malformed startDate/endDate in list_suppressed_destinations
- fix(images): fix stale images
- fix(tables): enrichment sidebar column-id display + filter-scoped run menu
- fix(microsoft-excel): clean up dead code found during integration audit
- fix(comparison): correct contrast claims across competitor pages
- fix(comparison): correct misleading pricing contrast on n8n page
- fix(cloudflare): align integration with live API, fix type-coercion bug
- fix(mcp): scope tools loading state to each server's own query
- fix(rich-md-editor): raw-HTML-block fragmentation + styling follow-up
- fix(db): bound knowledge connector and document fan-out concurrency
- fix(attachments): cross tenant hardening
- fix(analytics): GTM/GA4 missing on /demo and other landing pages
- fix(mailer): correct AgentMail webhook message schema field requirements
- fix(sidebar): prefetch folders and workspace permissions on cold load
- fix(custom-blocks): dedupe redundant workspace lookup in POST admin check
Other Changes
- chore(credential-sets): cleanup feature
Features
- feat(custom-block): deploy a workflow as a reusable org-scoped block
Improvements
- improvement(compare): accuracy and consistency pass on comparison pages
- improvement(chat): smooth streaming — eased stick-to-bottom glide and time-based reveal pacing
- refactor(uploads): hoist execution permission check out of upload loop, dedupe permission-gate tests
Bug Fixes
- fix(compare): render two already-populated fact rows that were missing from the table
- fix(404): use ChipLink for return-home CTA on root not-found page
- fix(mcp): correct fetchFn fallback order in mcpAuthGuarded
- fix(mcp): make SSRF-guarded fetch structurally mandatory in OAuth auth() calls
- fix(webhooks): validate and pin EmailBison apiBaseUrl before outbound requests
- fix(stt): bound audio download response size
- fix(uploads): bound multipart body read in workspace-file and knowledge-document upload routes
- fix(tools): bound download response size for drive/slack/onedrive
- fix(copilot): validate credential-link URL scheme before rendering
- fix(mothership): block subflow re-parenting in embedded workflow view
- fix(mothership): stop chat perf decay from permanently-animated streamed messages
- fix(compare): swap LangChain logo, fix comparison-table horizontal scroll
Features
- feat(billing): dedicated Credit usage page with date-range filter and CSV export
- feat(billing): expose credit usage log in Billing settings
- feat(comparison): add Microsoft Copilot Studio, OpenClaw, Dust, CrewAI, and LangChain
- feat(comparison): add Sim vs Competitor comparison pages
Improvements
- improvement(seo): extract shared withFilteredNoindex helper
- improvement(compare): tighten comparison-page copy, cut self-referential hedging
- improvement(styling): consistent branded text-selection color app-wide
- improvement(tables): harden pagination for short pages and surface name-validation errors
- improvement(academy): set 2, pages for the new video wave (workflow embeds, 2K players, full sequencing)
Bug Fixes
- fix(ui): surface silent validation and rejection errors across editors and modals
- fix(uploads): gate execution-context uploads behind write/admin permission
- fix(mcp): pass SSRF-guarded fetch into OAuth callback token exchange
- fix(mcp): pass SSRF-guarded fetch into OAuth start flow, matching probe/revoke
- fix(guardrails): authorize vertexCredential before use in hallucination validation
- fix(tables): verify workflow belongs to table's workspace before binding
- fix(gmail): strip CR/LF from header values before MIME assembly
- fix(chat): fail-safe to noindex if the deployment lookup errors
- fix(seo): fix GSC indexing issues, remove unused academy/partners pages
- fix(sso): support skipping the OIDC UserInfo endpoint at registration
- fix(billing): stop showing "View all" when there are no more invoices
Features
- feat(google-appsheet): add Google AppSheet integration
- feat(hex): expand API coverage, fix ID trimming, add cursor pagination
- feat(fathom): add list meeting types tool and missing list-meetings filters
- feat(trello): expand tool coverage and fix API gaps
- feat(wordpress): add category/tag CRUD tools, fix delete-status and dead-field bugs
- feat(clerk): expand Clerk integration with org, membership, moderation, and security tools
- feat(sharepoint): validate against Graph API and add delete/update/download tools
- feat(langsmith): add run update, get run, and feedback tools
- feat(similarweb): add page views tool, fix paid referrals field mismatch
Improvements
- improvement(forking): fork time ux
- improvement(gong): validate integration against API docs, fix pagination/wandConfig consistency
- improvement(brex): fill validate-integration gaps against live API docs
Bug Fixes
- fix(resume): fix click-blocking footer overlay + hardening on HITL resume page
- fix(landing): inset careers row hover, drop trusted-by section, gate contact submit
- fix(google-forms): fail-closed auth, legacy formId key fallback, idempotency
- fix(sendgrid): fix active field coercion, add pagination, tighten output typing
- fix(deps): bump echarts to 6.1.0 to patch XSS vulnerability
- fix(supabase): remove non-functional SQL introspection, harden storage encoding, add missing endpoints
- fix(vercel): align integration with live Vercel REST API docs
- fix(amplitude): correct wire formats and add funnels/retention analytics
- fix(onepassword): validate integration against API docs, add file downloads
- fix(tailscale): align tool coverage and outputs with the Tailscale API
- fix(algolia): tighten tools.config, add geo/facet search + task-status tool; icon/color tweaks
- fix(ahrefs): align tool coverage and outputs with the Ahrefs API v3
- fix(loops): align integration with live API docs, add suppression + get-template tools
- fix(brex): surface isPproEnabled in transfer block outputs
- fix(mothership): stop inlining full execution traces for the logs context
Other Changes
- chore(ci): bump API contract boundary audit route-count baseline to 884
Features
- feat(blog): add CTA band above footer
- feat(data-retention): granular PII redaction stages (input + block outputs)
- feat(blog): add five blogs
- feat(logs): add Troubleshoot in Chat button for errored runs
- feat(providers): add Claude Fable 5 model
Improvements
- improvement(tables): make max row size env-configurable and raise default to 400KB
- improvement(knowledge): react-doctor perf pass across the knowledge base module
- improvement(files): react-doctor performance pass on the files module
- improvement(tables): react-doctor safe performance pass
- improvement(chat): code-split resource preview panel out of initial /chat bundle
- improvement(landing): react-doctor health pass across the landing surface
- improvement(settings): react-doctor perf & correctness pass
- improvement(settings): react health pass across settings surface
Bug Fixes
- fix(logs): right-size and reorganize log-detail action chips
- fix(knowledge): surface KB description validation errors and raise limit to 10k
- fix(chat): fix secret-input chat widget reshaping after submit
- fix(chat): scope troubleshoot handoff to its workspace
- fix(integrations): resolve Server Components crash on the integration detail page
- fix(integrations): repair corrupt icons, backfill missing block metas, restore scroll on back-nav
- fix(landing): avoid unpolyfilled ES2023 array methods in client code
- fix(interfaces): always-light public surfaces (chat, resume, file shares, unsubscribe, invite) with emcn components
- fix(demo): unblock Cal.com booking embed and align work-email validation
- fix(providers): drop deprecated temperature capability from claude-sonnet-5
- fix(connectors): allow self-hosted private DB hosts via opt-in flag
- fix(custom-tool): restore modal body scroll so Save stays reachable
- fix(careers): remove /careers redirect so the in-app page is reachable
Other Changes
- ci(dev): auto-deploy Trigger.dev tasks + fail dev db:push on TTY prompt
- chore(rules): canonical useState prev-tracker for render-phase adjust + no-render-in-render caveat
v0.7.19
Features
- feat(careers): careers page backed by the Ashby job board
- feat(landing): reintroduce /contact page styled like /demo
Improvements
- improvement(broadcast): white canvas, LinkedIn footer, hi-res logo
Features
- feat(forking): resource copying UX to help with setup speed
- feat(linq): audit fixes + native auto-registering webhook trigger
- feat(broadcast): add july-1 newsletter (template, assets, font)
- feat(input-format): upload files in file fields via the file uploader
- feat(broadcast): add LinkedIn footer social icon
- feat(db): resolve DATABASE_URL per role (DATABASE_URL_ with fallback)
- feat(providers): add Claude Sonnet 5 model
- feat(integrations): wave-4 tool-depth (Slack/Asana/Jira/Google Docs/Trello/Monday) + context.dev validation
- feat(rich-markdown-editor): live media embeds + shared embed detection util
Improvements
- improvement(emails): align transactional emails with the platform neutral design system
- improvement(billing): ux around on demand toggling and one-off credits
- improvement(docs): README redesign — banner + platform screenshot
- perf(landing): defer Features preview, memoize integration grid, trim dead weight
- improvement(sendblue): audit fixes for optional group numbers, seat_id, typing state/duration
- refactor(landing): DRY page metadata via buildLandingMetadata + derive pricing credits
- improvement(landing): SSR-friendly URL-state filters + cleanup pass + polish
- improvement(landing): refine hero and mothership visuals
Bug Fixes
- fix(mailer): permissions entitlements for enabling/disabling
- fix(hitl): build the full enabled-block DAG so any persisted resume target exists
- fix(emcn): stop calendar content bleeding through the modal backdrop
- fix(settings): chip-consistency + shared credential-style resource row
- fix(sidebar): suppress collapse->expand transition flash on fresh load
- fix(media-embed): remove ReDoS-prone regexes in host-gated providers
- fix(input-format): file-field mode toggle uses canonical arrow icon on the label row
- fix(emcn): keep Prism grammar registrations in bundle, never throw on missing grammar
- fix(workflow-renderer): validate dropbox host in note embed renderer
Other Changes
- chore(logging): remove redis-progress-markers feature flag
Features
- feat(workspaces): gate workspace forking behind runtime workspace-forking feature flag
- feat(docs): render workflow previews with the shared editor renderer
- feat(mothership): add secrets input in chat
- feat(integrations): extend ElevenLabs, Google Drive, Firecrawl, Pinecone, Resend, and S3 tool depth
- feat(workflow-renderer): extract pure WorkflowBlockView + SubBlockRowView
- feat(integrations): extend Telegram, Outlook, and Notion tool depth
- feat(workflow-renderer): extract edge, subflow, and note Views into @sim/workflow-renderer
- feat(pii): add redaction timing metrics across sidecar and persist path
- feat(integrations): extend Airtable, Google Docs, WhatsApp, and Excel tool depth
- feat(workspaces): fork + push/pull
Improvements
- improvement(slack-trigger): expose view, message, and state on interactivity payloads
- improvement(settings): persistent layout + locked-down header API
- improvement(docs): redesign README (animated hero + product demo)
- perf(dev): curate SIM_DEV_MINIMAL_REGISTRY to core toolbar blocks
- improvement(emcn): extract design system into shared @sim/emcn package
- improvement(docs): flatten the academy learn/chapters panels
Bug Fixes
- fix(uploads): attach compiled binary for AI-generated docs, not source
- fix(prism): load prismjs core before language components
- fix(emcn): resolve Calendar icon/component barrel collision and preserve prism side effects
- fix(knowledge): send tag filters as a JSON string so the document filter works
- fix(emcn): repair app-wide crash and unstyled UI after package extraction
Other Changes
- chore(deploy): remove deploy as a2a