Changelog
v2.9.8 (2026-11-10)
h3-query widget
The new h3-query widget queries an indexed H3 dataset and gives the results a name, so fused-map layers and SQL in your Canvas can use them. Results load straight into the browser.
H3 datasets in the File Explorer
The File Explorer has a new H3 datasets tab where you can browse your indexed H3 datasets, see their size and columns, query them on a map, and open the logs of the job that indexed them.
Improvements
- H3 analytics: dataset queries can now select by polygon, buffer by a k-ring, and choose how cells must be contained, and they run much faster
- H3 analytics:
fused.h3.indexcan split a run across several instances withoptions={"instances": N}, and run objects have newerror(),errors()andfailed()methods - Widgets:
fused-maplayers can read a canvas SQL source with"data": "{{name}}" - Widgets:
fused-mapshares the hovered feature, selection, map size and zoom with your page, and lets the page set the selection - The File Explorer listing can be sorted by name, date or size
- Batch job ids are now printed as
job://<id>, which the Workbench turns into links to the job's logs
Bug fixes
- Fixed:
fused.h3.indextiming out on large folders - Fixed:
fused-mapre-running queries after saving in the sidebar - Fixed:
fused-mapnot sending the map bounds until you moved the map - Fixed: switching environments with
fused envlosing your sign-in - Fixed: cancelled
fused-maptile downloads continuing in the background
v2.9.7 (2026-11-05)
Redesigned File Explorer
The File Explorer has a new layout, now on for everyone. It has resizable panes, previews files only when you open them, and shortens long file names and paths so they stay readable.
Redesigned Job logs
The Job logs list now filters, sorts and pages large job histories, and lets you cancel several jobs at once. The job details pane has a new design and shows the parameters of fused.h3.partition and other task jobs.
Improvements
- Widgets:
fused-maplayer SQL now runs on tiled UDF and hex layers over the tiles in view, and editing a query re-runs it without downloading the tiles again - Widgets: press Shift+Enter to run a
fused-mapquery - Canvas: click a selected folder's name to rename it, and HTML template nodes now have a reload button
- The bounds map picker now lets you choose a base map
udf.map(...).df()combines results faster and warns you when they won't fit in memoryfused.h3.partitionhas simpler arguments and accepts/mountpaths for input and output
Bug fixes
- Fixed:
udf.mapruns timing out while other runs in the same map were still starting - Fixed: reloading an embedded canvas losing its folders
- Fixed: deleting a UDF in an embedded canvas also deleting it from your account
- Fixed: two canvas folders ending up with the same name
- Fixed: clicking in the code editor zooming the canvas
v2.9.6 (2026-11-04)
Improvements
- Widgets: drag
fused-maplayers to reorder them (the top of the list draws on top), and the map now shows a coordinates readout - Widgets:
fused-maptooltips can be pinned, browsed, and copied, show links and raster values, and can be turned off from the sidebar - Widgets:
fused-maplayer queries are no longer capped at 100k rows and warn you when results are large - Canvas: new nodes start without a title, titles no longer change when you rename a UDF, and you can drag a node by its UDF name
udf.mapruns now userun_timeoutinstead of a short request timeout, and show a breakdown of what failedfused.cachekeeps working when cache storage fails, and gives clearer errors when waiting on a cache lock times out
Bug fixes
- Fixed: browser UDFs returning cached results after their code changed
- Fixed: runs that ran out of memory not being reported as out-of-memory errors
- Fixed:
udf.mapmarking finished runs as failed when results were slow to download - Fixed: sign-in failing when a login redirect was repeated
- Fixed: sticky notes saving when you hadn't edited them and dropping markdown tables
v2.9.5 (2026-10-26)
Improvements
- Canvas: show or hide all UDFs in a folder from the toolbar
- Canvas: the canvas menu now opens Job logs, Preferences, and Integrations & secrets
- AI inline edit now works in the HTML template node editor, and it reads the whole file plus the nodes connected to it
- The Runtime pane has a Fix with AI button, and the Runtime is back in the right pane
fused codex plugin addandfused copilot plugin addinstall the Fused skills in Codex and GitHub Copilot
Bug fixes
- Fixed: a sign-in loop behind corporate proxies such as Zscaler
- Fixed: cancelling a job timing out
- Fixed: Ctrl+Z not working after you accept an AI inline edit chunk by chunk
- Fixed: resizing a Canvas folder piling its nodes on top of the folder title
v2.9.4 (2026-10-22)
Improvements
- Widgets:
fused-mapnow shows why tiles and runs failed, on the layer card, in the results panel, and on hover - Widgets: clicking a hex in UDF code zooms only the
fused-mapwidgets that UDF is connected to in the Canvas, or every map if it has no connections - The Workbench Runtime now opens in a bottom panel
- Canvas checkpoints: you can now unlink a canvas from GitHub
Bug fixes
- Fixed: canvas import failing with "Public access is not allowed"
- Fixed: saves failing after a canvas import or checkpoint restore
- Fixed: a collapsed side pane in embedded canvases could still be dragged open from its edge
v2.9.3 (2026-10-21)
Bounds map picker
When a UDF's bounds parameter has a default value, you can now set it from a map in the code editor instead of typing coordinates. Drawing works across the antimeridian and on repeated world copies.
Improvements
- Widgets:
fused-maphex layers show a zoomed-out overview of large datasets, with row counts on each file outline - Widgets: clicking a hex in UDF code also zooms connected
fused-mapwidgets - Embedded canvases: add
?fused_embed_readonly=1to show a Canvas as view-only, and the Runtime pane now follows the selected node --envandfused._envnow accept a deployment URL
Bug fixes
- Fixed: a
settings.tomlwith an[auth]section failing to load when importingfused - Fixed:
fused.h3indexing failing when a dataset was split across jobs - Fixed: timeouts on
/h3/queryand the ERA5 and gridMET endpoints
v2.9.2 (2026-10-19)
Canvas folders
Canvas folders are now available to everyone, no experimental toggle needed. Select two or more nodes and press G to group them into a folder, then drag nodes in and out to reorganize. Folders also appear in embedded canvases, and resizing a folder saves automatically.
Improvements
- H3 analytics:
fused.h3indexing now splits large datasets across jobs - Canvas: node thumbnails now include maps and are captured for a whole selection
- The experimental toggles for HTML template nodes and the Slack integration are gone, since those features are now always on
- Removed some deprecated feature toggles
Bug fixes
- Fixed: rejecting an AI inline diff in the code editor corrupting undo history
- Fixed:
fused-maplayer status overlapping the hover icons
v2.9.1-3 (2026-10-13)
Improvements
- Widgets:
fused-maplets you pick a point layer's latitude and longitude columns, and tile layers start from the UDF'sboundsparameter - Shared view nodes now have Full screen and Copy link buttons
- Importing UDFs from GitHub is faster
Bug fixes
- Fixed: invalid
fused-maplayers disappearing from the sidebar
v2.9.1 (2026-10-06)
Fused map widget sidebar
The experimental fused-map widget sidebar now lets you add, duplicate, delete, and rename layers, pick palettes and color steps, and save edits straight into the widget config, with full undo/redo in the code editor. The map also detects the layer type from your UDF result, so you can show a map for any UDF, including single-image rasters.
Improvements
- Widgets: drop a UDF onto a
fused-mapnode in the Canvas to add it as a layer - Widgets:
fused-mapadds a reset-view button, a basemap that follows your theme, automatic retry for failed tiles, and a per-layer bounds lock that runs the UDF once instead of on every pan or zoom - UDFs can now access the share token they were called with, and the new
fused.api.shared_udf_urlbuilds shared UDF links - AI models updated to Claude 5.5, GPT-6, Gemini 3.8, Kimi K3, and GLM 5.3
Bug fixes
- Fixed:
fused-mapcolor ramps no longer draw black past the palette, and categorical colors stay consistent across tiles - Fixed:
fused-mapshare links failing with a 422 error on whole-run layers - Fixed: DuckDB results showing
<16 bytes>
v2.9.0 (2026-09-30)
Experimental Fused map widget
The experimental fused-map widget gets a major upgrade:
- A configuration sidebar to tweak the map without editing code
- Direct URI of your source, no UDF required
- Auto-fit to your data
AI node handoffs
Canvas AI can now hand off change requests from one node to another, and these handoffs run in the background while you keep working.
Improvements
- Widgets: the
fused-mapwidget remembers its viewport - Canvas: HTML nodes now use
window.fused(replacingfusedCanvas) to call UDFs, and can be shared as links just like Widgets - Canvas: new nodes take their title from a readable version of the UDF name
- Canvas: pane sizes persist across collapse and reload, and folder edits autosave
- AI chat no longer stops to ask for confirmation, and it tells you when a response stops unexpectedly
Bug fixes
- Fixed: checkpoints no longer mark every UDF as modified when compared against ZIP checkpoints
- Fixed: a false "stale canvas" warning on brand-new canvases and after changing share access
- Fixed: shared widgets no longer reload the whole page on token refresh, and shared tile maps no longer loop
- Fixed: charts not rendering in AI chat visualization cards
- Fixed: stale timers and log scroll resets on the Workbench jobs page
v2.8.5 (2026-08-18)
Embedded Workbench for fused-render
Canvases opened from fused-render now embed a fully authenticated Workbench editor directly in the app instead of a separate browser tab.
Bug fixes
- Fixed:
fused canvas pullno longer treats the seededCLAUDE.mdand.fusedignorefiles as deletions or diffs - Fixed: a crash on the UDF logs page
v2.8.4 (2026-07-21)
Bug fixes
- Fixed:
fused.cachenow surfaces the real error to concurrent waiters instead of a generic failure - Fixed: requesting a missing collection now returns a clear HTTP error instead of a server error
v2.8.3 (2026-06-29)
Improvements
- UDF
.jsonfiles now support JSON5, so you can use comments and trailing commas in your UDF configuration - Canvas: App nodes now show a clear status message instead of a generic "Running UDF"
Bug fixes
- Fixed: your session token no longer affects the UDF cache key, so cached results are reused as expected
- Fixed: stale state in the UDF collections toolbar
v2.8.2 (2026-06-24)
CLI checkpoints
The fused CLI gains fused checkpoint create, list, and restore, so you can snapshot your work from the terminal and roll back to an earlier state at any time.
See the CLI Reference to get started.
Run shared canvases from the CLI
fused run now works against shared canvases, so you can execute a teammate's shared canvas directly from the terminal without copying it first.
Improvements
- Canvas: visual indicators show when a canvas or UDF has unsaved metadata changes
- Canvas: map widget autoFit now fits the view to your data's bounds
- Workbench job status gains a Debug tab showing dmesg/syslog output for troubleshooting
- Faster canvas and workbench cold-load, with fewer redundant API calls
- S3 presigned URLs now proxy through the server so they work behind Zscaler and other corporate networks
- CLI: clearer help text for the
--env,serve-mcp, andjson-uioptions
Bug fixes
- Fixed: ghost nodes resurrecting on canvas refresh and out-of-bounds nodes lingering in multi-select
- Fixed: text box background color not restored when loading a checkpoint
- Fixed: note and widget styling lost across GitHub sync, and pulled UDFs failing to re-run
- Fixed: false GitHub sync self-conflicts, now with clearer conflict errors
- Fixed: stale alignment helper lines remaining on the canvas after a drag
v2.8.1 (2026-06-03)
Canvas comments (experimental)
The Canvas now has experimental support for comments, so you can leave notes anywhere on the canvas and discuss work in context with your team.
Dropbox and OneDrive integrations
Connect Dropbox and OneDrive as data sources and read files straight into your UDFs, alongside the existing cloud storage integrations.
New widget components
Widgets gain a file-upload input and a PDF gallery viewer, making it easier to bring documents into a widget and browse them inline.
Improvements
- Canvas: open any node in a fullscreen view for focused editing
- Canvas: UDF folders improved — duplicate folders, reorder nodes, and reorganize more reliably
- Canvas: revamped edge toolbar with a click-anchored layout, parameters panel, and copy-as-variables
- Canvas: Alt+ keyboard shortcuts jump straight to omnisearch actions
- CLI: new
fused udf searchandfused canvas validatecommands, plus an--output-fileoption onfused run - Experimental Widgets: experimental kepler-map JSON UI component for richer map widgets
Bug fixes
- Fixed: map results not showing up in some cases
- Fixed: z-index layer order not preserved when copying, pasting, or duplicating nodes
- Fixed: chat input Enter key sending messages mid-IME composition
- Fixed: CSV export column order now matches the realtime usage table
- Fixed: kernel dropdown not closing and preset search arrow-key navigation
v2.8.0 (2026-05-19)
Canvas MCP
The Canvas now exposes an MCP server so AI tools like Claude and Cursor can connect directly to your canvas. Register it from the CLI with a single command.
Anthropic integration
Add your Anthropic API key under team integrations to call Claude models inside UDFs via fused.api.anthropic_connect().
Widget UDF data access
Widgets can now reference UDF outputs directly using template syntax — for example {{ udf_1.col_name[0]?param=100 }} — so widget content can react to live UDF results without extra plumbing.
Improvements
- Widgets: presets let you start new widgets from common templates instead of from scratch
- Widgets: choose which AI model powers the widget builder when generating or editing widget code
- Widgets: new form input components — text area, number, datetime, camera, and color picker — available in the JSON UI editor
- Widgets: gallery input now supports additional layout modes and display options
- Canvas: AI chat widgets can be added directly as canvas nodes
- Canvas: auto-save shows a warning when a save encounters a problem
- Canvas: folder node descriptions improved — consistent with canvas-level description behavior
- Integrations modal now has a search bar to quickly find personal and team integrations
Bug fixes
- Fixed: toolbar position rendering offset on canvas
- Fixed: canvas loading indicator style inconsistency
- Fixed: description panel height inside folder nodes
- Fixed: canvas selection history not restoring correctly
- Fixed: UDF name not shown on canvas node when no custom title is set
v2.7.1 (2026-05-14)
Widgets: new components and capabilities
Widgets gain a transformer component for custom JavaScript logic, per-widget background colors, an AI chat preset (beta), and schema linting with autocompletion in the JSON UI editor.
Workbench UI improvements
Navigating the Workbench feels smoother — back and forward buttons let you move through canvas history, node descriptions now show up right on the canvas, and omnisearch got keyboard shortcuts. There's also a stale canvas indicator that shows you a diff before anything gets overwritten.
Improvements
- Canvas: AI suggestions are now scoped to the current canvas for more relevant results
- Canvas: canvas files can be saved and loaded as TOML for easier version control and sharing
- Canvas: node descriptions now appear as overlays directly on canvas nodes
- Canvas: stale canvas detection shows a diff before changes are overwritten
- Canvas: back and forward navigation buttons added to canvas history
- Canvas: parameter names now autocomplete in the JSON editor
- Canvas: AI chat conversations can be exported
- Canvas: create a pull request directly after saving a checkpoint
- Widgets: new transformer component runs custom JavaScript logic inside a widget
- Widgets: background color can be set per widget
- Widgets: JSON UI editor now validates against the schema with linting and autocompletion
- Widgets: new AI chat preset component (beta)
- Omnisearch: keyboard shortcuts added and search UX improved
- Google Drive: re-select which files Fused is allowed to access
Bug fixes
- Fixed: UDF map not loading correctly
- Fixed: widget rename breaking references throughout the canvas
- Fixed: Slack bot authentication errors
- Fixed: Notion access token not persisting between sessions
- Fixed: shared widget parameters not preserved on export
- Fixed: canvas viewport jumping when collapsing or expanding panels
v2.7.0 (2026-05-07)
Canvas redesign
The Canvas has been redesigned — new controls layout, collapsible code editor, node description overlays, a revamped edge toolbar, and refined typography throughout. The file explorer moves to the bottom bar and a new Quick action menu (Cmd+K) lets you search canvases, UDFs, and actions from anywhere.
Auto canvas checkpoints
The Canvas now automatically saves checkpoints as you work so you can restore any previous state without manually saving.
HubSpot integration
Connect HubSpot CRM data directly to UDFs — query contacts, deals, and pipelines without moving data out of HubSpot.
Improvements
- Canvas: AI can auto-rename canvases based on their content
- Canvas: team-scoped shared canvases no longer require a passcode
- Widgets: widget builder now has separate editor and preview tabs
- Widgets: widget configs now support JSON5 format
- Widgets: config previews stream live while editing
- Logs can now be opened in a new browser tab for easier debugging
fused.cacheresults now expose acachedattribute so you can tell whether a result came from cache- UDFs can now return PIL Image objects for raster tile rendering
- Real-time job logs improved with better streaming
- User secrets can now be managed separately from team secrets
Bug fixes
- Fixed: canvas loading performance issues
- Fixed: map not resizing when its container changes size
- Fixed: sidebars expanding when collapsing canvas panels
- Fixed: slider layout in the widget builder
- Fixed: Snowflake queries failing on unsupported fetch operations
- Fixed: UDF matching by file name
v2.6.1 (2026-04-29)
New integrations: Notion, Google Cloud (BigQuery), Snowflake, and Airtable
Connect Notion pages, BigQuery datasets, Snowflake tables, and Airtable bases directly to UDFs and expose results through the Fused API.

Widget AI Chat
An AI assistant built into the Widgets builder that lets you iterate on widget layout and logic through natural language.
Improvements
- Integrations: Airtable and Snowflake are now generally available — no longer behind a feature flag
- Integrations: New S3, Baseten, BEM, and GitHub integration setup forms
- Integrations: List now shows team vs. personal ownership and uses focused accordion cards
- Widgets: Support
{{udf?param=value}}syntax for overriding UDF parameters in widget SQL - Widgets: Set input default values via
$param; iframe nodes now support{{udf}}and$paramsyntax - Canvas: Smart floating toolbar
- Canvas: HTML template nodes for embedding custom layouts
- Workbench: Batch job execution flow simplified
- Allow passing
Nonevalues to UDFs regardless of type annotation
Bug fixes
- Fixed: non-numeric arrays incorrectly serialized as raster tiles
- Fixed:
to_fusedsilently falling back to the default collection when none matched - Fixed: Shift+Enter not triggering run for UDFs with manual run parameters
- Fixed: Snowflake connection failing when the optional role field was empty
- Fixed: integrations page broken for basic-tier users
- Fixed: canvas Z-index layering issues
- Fixed: zoom level on canvas load
- Fixed: loading issue on shared canvases
- Fixed: recent canvas card size on home page
v2.6.0 (2026-04-24)
[Experimental] Snowflake integration
Connect your Snowflake data warehouse directly to Fused — query Snowflake tables from UDFs and expose results through the Fused API without moving data.
See the Snowflake integration docs to get started.
[Experimental] Airtable integration
Read and write Airtable bases from UDFs, making it easy to build data pipelines on top of your Airtable data.
See the Airtable integration docs to get started.

Improvements
- Widgets: now generally available — no longer behind a feature flag
- Widgets: AI auto-fix from the error log; copy/share button in the code editor
- Canvas: "Folders" renamed to "Sections"; stale indicator added; edge improvements
- Canvas: "Generate MCP" button added; AI suggestions now use canvas context
- Clickable UDF names in the code editor — click to jump to the definition
- Home page UI polish
- Public Canvas now support preview images
fused.submitshows the first error before retrying;delete_cacherenamed toinvalidate_cache
Bug fixes
- Fixed: Slack connection issues
- Fixed: login redirect on shared canvas pages
- Fixed: ghost node on canvas
- Fixed: reading chunks with no geometry
- Fixed: widget props not syncing on shared pages
v2.5.0 (2026-04-16)
[Experimental] Talk to your data in Slack!
Connect any Canvas to a Slack bot and let anyone on your team ask questions directly in Slack — no Workbench needed.
See the Slack integration docs to get started.
Improvements
- [Experimental] Widgets: new
whotkey to open the widget builder - Canvas team access tokens: tokens in UDF settings are now truncated for clarity
- Team-scoped shared canvases can now have an API endpoint created with a session token; "Open API" button activates when a session token is present
- Canvas and share page performance improvements
- UDF thumbnail now falls back gracefully if canvas-level capture fails
- Home page UI polish
Bug fixes
- Fixed: share token no longer carried over when copying a canvas in Workbench
- Fixed: README metadata preserved when pulling UDFs from GitHub
- Fixed: reading and pushing modified public UDFs
- Fixed: initial canvas tab state in the UDF Collection modal
- Fixed: Slack integration channel name handling
v2.4.2 (2026-04-13)
New home page
A redesigned home page with a landing experience, quick-access menu, recents section, and live integration status.
Collection shared tokens
Collections now support shared tokens, making it easier to share data access without exposing credentials.
Improvements
- Canvas: sharing is now available for paid plans only; canvases can now be deleted directly from GitHub
- H3 analytics:
run_partitionnow supports non-count metrics - AI edit confirmation: blocking modals replaced with inline gate UI
- AI usage tracking corrected for basic-tier accounts
- [Experimental] Widgets: new
iframecomponent for embedding URLs in awidget-builder - Export chat conversations from the chat history sidebar
- Google Drive integration bug fixes
- Workbench now shows an access-denied page when an environment has been disabled
Bug fixes
-
Fixed: Canvas: runtime loading bug on canvas open
-
Fixed: Canvas: serialization error when DataFrame index and column names conflict
-
Fixed: AI running badge overlapping the top bar
-
Fixed: AI edit confirmation flow edge cases
-
Fixed: [Experimental] Widgets: CodeMirror text selection inside
widget-builder -
Fixed: [Experimental] Widgets: shared AI widgets now show a login CTA for unauthenticated users
-
Fixed: home page recents card count not updating after reload
-
Fixed: home page integration statuses now sync correctly
-
Fixed: bar chart no longer re-animates on unrelated state changes
-
Fixed: Firefox doc popup layering in the code editor
v2.4.1 (2026-04-09)
Google Drive integration
Files stored in Google Drive can now be accessed directly from Workbench.
AI edit confirmation
When AI suggests code edits in the editor, you can now review and confirm them before they are applied.
Improvements
- [Experimental] Widgets: URL query params now sync with param broadcasts in shared Widget mode
- [Experimental] Widgets: improved loading style when a UDF is running inside a Widget
- Toolbar dropdowns now open on click instead of hover
- Chart UX: improved zoom stability and donut legend cleanup
- Duplicate now works for errored UDFs; default UDF description removed
- Real-time UDF log streaming improvements
- You can now clone a Canvas from a Shared Canvas
Bug fixes
- Fixed: [Experimental] Widgets: dropdown not rendering in fullscreen mode
- Fixed: download data option no longer shown in the toolbar
- Fixed: node toolbar hover behavior reverted to avoid accidental triggers
v2.4.0 (2026-04-07)
Canvas UDF endpoint — build an MCP Server from any Canvas
Public canvases now expose an endpoint that lists all visible UDFs (after creating a shared canvas token). This makes it straightforward to turn any canvas into an MCP Server.
UDF folders
UDFs on the canvas can be grouped into folders, simply by selecting multiple UDFs and clicking "Create Folder".
Automatic session tokens for Team canvases
Workbench now automatically creates a session token for UDFs in Team-scoped canvases, so shared UDFs are always accessible without manual token setup.
Improvements
- [Experimental] Widgets: Map Widget — deck.gl hybrid rendering, tooltip/color updates, and hex-tile polish
- [Experimental] Widgets: line chart and more chart types; switch layouts from a dropdown via
widget-builder; SQL-backed widgets use a higher automatic row limit - [Experimental] Widgets: editor and AI tweaks;
$paramreferences included in share URLs and param discovery - Shared canvases support session tokens end-to-end; canvas passcode is generally available
- Session tokens in the canvas workflow; streamlined top bar
- Faster canvas cold start when catalog refresh can be skipped safely
- UDFs can return DataFrames with columns of fixed-shape NumPy arrays
- Quota exceeded errors surface clearly in the UI
- Glass-style loading overlay while UDFs run; overlay when copying GitHub-linked canvases
- UDF file endpoints:
.htmlextension is optional
Bug fixes
- Fixed: share tokens and
collection_idwhen running UDFs from Workbench or shared links - Fixed: keyboard delete / shortcuts on the canvas
- Fixed: focus when wiring new connected UDFs; share-canvas sidebar behavior
- Fixed: UDF folder and sticky-note UI (rename, width, tags, alpha)
- Fixed: Home page upload popover layering
- Fixed: parquet file registration when a UDF output schema changes
- Fixed: widgets on shared canvases get correct catalog/collection context
- Fixed: extension matching for UDF URLs
- Fixed: cache invalidation and cache lookup on Basic tier
- Fixed: Jobs modal and blurred overlay behavior
v2.3.1 (2026-03-31)
[Experimental] Shareable Widgets
Widgets can now be shared via URL — anyone with the link can view the widget directly, without needing access to the canvas.
Improvements
- [Experimental] Widgets: inline AI editing — AI can now modify Widget configuration directly in the editor
- [Experimental] Widgets: AI chat now distinguishes between "ask", "plan", and "build" modes for more precise tool use
- [Experimental] Widgets: Map-H3 improvements (zoom overlay, restored saved map bounds on refresh, updated Info/X icons)
- Service accounts: users can now create service accounts from the profile page
- GitHub integration: a GitHub repo can now be linked to multiple execution environments
- GitHub integration: confirmation prompt before changing git details when pushing to GitHub
- Canvas thumbnails are captured more reliably; edges toggle is preserved in share URLs
- UDF execution states in Workbench are clearer and more accurate
- Runtime tab now shows a visual indicator while a UDF is executing
- File explorer: improved reliability when opening the modal during a busy canvas
- AI chat: images are now compressed before being sent, reducing payload size
- Share link button and viewport zoom are restored correctly when opening a shared canvas
- Tab icons updated across Workbench
Bug fixes
- Fixed: UDF execution phase getting stuck
- Fixed: Widget dropdown unable to scroll to select an option
- Fixed: canvas sidebar collapse button not working
- Fixed: sticky note text toolbar actions triggered outside of edit mode
- Fixed: job log display issues
- Fixed: GitHub sync reliability issues
- Fixed: opening Preferences or Jobs from a public tab no longer redirects unexpectedly
- Fixed: canvas loading stability; stale canvas state no longer restored on route change
Upgrades
- DuckDB v1.5.1
v2.3.0 (2026-03-26)
New Home page
Workbench now has a new Home page! This allows you to quickly navigate between Canvases.
Improvements
- [Experimental] Session tokens: control access to shared UDFs and canvases similarly to a presigned S3 URL;
fused-pysupports the same flow - [Experimental] Widgets: H3 hex picker preset. Improved defaults & SQL editor
- You can now clone a canvas from a Shared Canvas to make a copy for yourself
- Resize several nodes at once on the canvas
- Parameters show where they came from and surface conflicts when edits disagree
- Saves and runs are easier to reason about: edges wait until upstream nodes finish saving before they run
- Sharing is smoother: improved share modal, multi-select when sharing, and shared links open at the viewport you had when you clicked Share
- Overall speed improvements and lower memory use across the canvas, catalog, DataTable, UDF explorer, and Workbench client
Bug fixes
- Shared canvases run UDFs reliably again;
fused-pyshared-canvas tokens behave correctly - Shared canvas works in Safari
- Basic tier: Improved realtime caching & secrets UI
fused.ingest()accepts point layers with float32 columns- Collection name is not saved into metadata by default unless needed
- UDFs no longer need an extra click to run in some cases
Upgrades
stlitev1.5.0geoai-pyadded
v2.2.2 (2026-03-19)
Improvements
- UDFs don’t run when you open a canvas until it has been saved at least once
- For slow saves, Workbench shows a warning instead of a blocking modal
- Opening a canvas no longer auto-runs UDFs; the auto-run toggle is respected
- For team-shared canvases, a warning explains that the share link can’t be opened in a new tab
- Canvas renaming and saving improvements; duplicate name on upload is resolved automatically
- [Experimental] Widgets: Map-H3 (emit on move, UTM pixel area, updates); bar chart (auto bottom margin from label length); JSON UI (edge animation, layout fixes); big number (auto shrink)
Bug fixes
- Canvas save state and save button state (including after zip upload) corrected
- Opening the Version page no longer triggers UDF reruns
- Checkpoint diff no longer includes README-only changes
- Node toolbar appearing correctly and capture preview for canvas-rendered graphs fixed
- UDF Table view: overlay no longer hides when changing filters
Upgrades
- DuckDB reverted to v1.4.3 due to a CRS/geometry issue in v1.5.0
v2.2.1 (2026-03-16)
Canvas-wide shared tokens
UDFs no longer use per-UDF access tokens; sharing is at the canvas level. The new format is as follows:
fc_****prefix for canvas tokensmy_udf_namefor any UDFs in the canvas.parquetextension for Parquet files
Example:
# doctest: skip
https://udf.ai/fc_MY_CANVAS_TOKEN/my_udf_name.parquet
Previous fsh_**** tokens remain supported but are deprecated.
This will require you to share your canvas first. Read more about the new canvas tokens in the updated UDF as API guide.
Finer AI control in Canvas
- AI chat: Canvas will now show a prominent "AI is running" indicator allowing you to stop AI at any time.
- OpenAI models updated to GPT-5.4
Improvements
- fused.ingest: GeoParquet 1.1 with optional bbox column
- New toggle: Turn "Auto-run" for canvases OFF. When toggle is off, UDFs will NOT automatically run when the canvas is loaded or edited.
- You can now duplicate UDFs & Sticky notes with
Cmd + DorCtrl + D - Checkpoint modal: better folder name validation
- UDF execution failure now shows details
- Canvas UI refinements: name save, share visibility, snapping edge handle
- You can now resize multiple UDFs and sticky notes at the same time
- [Experimental] Widgets: map-H3 component and map widget interaction fixes
- [Experimental] Widgets: enhanced logging; text editing in studio nodes
- [Experimental] Improved PR creation from checkpoints
Bug fixes
- Fixed: UDFs not auto-running on canvas reload/refresh
- UDF execution modal only when manually triggered
- Team-scoped canvas tokens running correctly
- Hidden UDFs will not be executed when the canvas is loaded or edited
- Blocking modal when unsaved for a while, prompting download or checkpoint
v2.2.0 (2026-03-11)
Manual cache invalidation
Click "Invalidate" to manually reset the cache of any UDF.
[Experimental] Canvas version control
Version control your canvases through GitHub (experimental).
Improvements
- [Experimental] Auto invalidate cache when code and/or parameters from upstream UDFs changes
- [Experimental] Widget UI Improvements: click edges to connect a new UDF in 1 click
- Parameter cascading: Any UDF with parameters will automatically update downstream UDFs when the parameters changes
- Capture button in collapsed left sidebar view
- Restore canvas parameters from checkpoints
- AI: UDF rename and chat naming, keyboard handling
- Improved image pasting to canvas
Upgrades
- DuckDB v1.5.0
Bug fixes
- No confirmation modal when importing the initial canvas
- Run timer when no UDF is running
- Starting batch jobs from Workbench fixed
v2.1.1 (2026-03-03)
Collapsible left sidebar
Want more coding space? Collapse the left panel!
Preview your Canvas in Catalog
Canvas Catalog now will show previews of your Canvas
Various bug fixes
Improved canvas stability, sticky notes formatting, AI responses, etc.
Improvements
- Profile page now shows tokens usage
- Experimental: Slack integration
- Various canvas improvements
- Various AI improvements
- Various bug fixes
v2.1.0 (2026-02-26)
🧠 Canvas-wide AI
AI Chat now sees your whole Canvas & can search across all your UDFs!
⏯️ "Run" is now per UDF
We've removed the Run / Freeze button at the Canvas level, instead we now have a dedicated "Run" button for every UDF.
- UDFs don't run on any change anymore
- Hiding a UDF (clicking the eye icon) will prevent it from running
🗒️ Sticky notes now support markdown!
Bullet points, italic, links, you can now do all of that in sticky notes!
Breaking Changes
- Removed "App Builder" from deprecated features. Fused Apps can still be toggled on under the "Experimental" tab in Preferences. This allows you to still build Fused Apps directly in canvas.
New Features
- Paste images directly in Canvas!
- AI can now create Canvas checkpoints.
- Download zip button for shared apps.
- Canvas preview images.
- Sticky notes: color picker.
- GPT 5.3 Codex model available in AI chat.
- Changelog modal now shown in Workbench on new deployments.
Improvements
- Experimental: "JSON UI" renamed to "Widget" across the product.
- Smarter detection of batch jobs & parallel runs in Workbench.
- Batch & Parallel runs will not show a modal anymore when first opening a Canvas, instead simply be paused.
- Canvas: improved helper lines with equal spacing & multi-selection support, outline node capture.
- AI: auto compaction, improved error handling, streaming switched from WebSocket to SSE.
- Default UDF runs are now
verbose=False. - Fused tokens highlighted as primary in editor.
Bug Fixes
- App sharing, sidebar filtering, and UDF copying from shared canvases.
- Python SDK: warning when ignoring
n_processes_per_workerfor local engine. - Various AI, Canvas & UDF bug fixes.
v2.0.4 (2026-02-18)
New Features
- Checkpoints can now be named!
Improvements
- Canvas catalog now loads faster.
- Canvas embed mode: JSON UI dropdowns fixed.
- UDF argument type can be specified as strings (e.g.
"fused.types.Bounds"). - Canvas general improvements.
- Versions page cleanup.
Bug Fixes
- [Experimental] Prevent dropdown reset in JSON UI in share mode.
- Map no longer gets blocked in certain cases.
- Memory usage now shown properly in logs.
- Copy UDF when adding from Command Palette.
- Modal deduplication fixes.
- Prevent "not logged in" flash while fetching access tokens.
- Geometry now renders correctly in tables.
- Catalog no longer appears on share page.
- Canvas download without state fixed.
- Batch job instance type now passed correctly from client.
v2.0.3 (2026-02-11)
New Features
- Directly ask the AI to search for any code across all your UDFs! (RAG over user UDFs and UDF indexer).
- Support for Opus 4.6 in AI chat.
- Canvas history for UDF renaming with undo/redo support.
- Confirmation before deleting UDFs that have batch jobs or a map.
Improvements
- Better canvas auto-saving.
- Preferences modal, canvas centering (like Fused Maps), and catalog background behavior.
- Canvas memory optimization and modal display fixes.
- AI: MCP adjustments, and RAG/chat touchups.
Bug Fixes
- Delete UDFs via autosave instead of individual deletes.
- Re-opening canvas no longer makes team UDFs read-only.
- H3 ingest: fallback logic to large instance.
- Prevent infinite render loop in AI chat; fix chat history bug.
- File explorer: tooltips display correctly.
- Default collection can be created during partial sync.
v2.0.2 (2026-02-05)
New Features
- AI: Chat history button to jump to previous chats.
Improvements
- Checkpoint actions disabled while auto-saving.
- Fewer unnecessary network requests.
Changes
- UDF Explorer and File Explorer removed from Canvas center sticky bar (still accessible in top left above UDF list).
Bug Fixes
- Canvas: UDF list scroll, app catalog tab switching, and general improvements.
- Table widget: copying selected text no longer copies the whole UDF.
- AI: Profile modal and chat text selection.
- Various AI and Canvas bug fixes.
v2.0.1 (2026-02-03)
Fast follow release to fix some issues with the new Canvas-first architecture.
Changes
@fused.udf(instance_type=...)deprecated in favor of@fused.udf(engine=...). Theengineparameter accepts'local','remote','realtime', or batch instance types ('small','medium','large','m5.large', etc.).- Removed File Explorer and UDF Explorer from the Canvas lower sticky bar.
JobPool.df()renamed toJobPool.logs_df(). Newdf()is an alias forcollect().
Bug Fixes
- Fixed checkpoint restore layout and modal UI.
- Fixed Canvas flickering and viewport change issues.
- Fixed multi-select rerun behavior.
- History size now configurable in Preferences.
- Various AI and Canvas bug fixes.
v2.0.0 (2026-02-02)
This is a major release introducing a new Canvas-first architecture. UDFs now live inside Canvases, with a simplified Workbench layout and updated fused-py API.
Breaking Changes
- UDFs now belong to a Canvas. UDFs calling
fused.load()orfused.run()to UDFs outside the current Canvas will fail. See Migration below. fused.run(udf, var=1)is nowmy_udf(var=1).fused.submit(my_udf, arg_list)is nowmy_udf.map(arg_list).
New Features
- Canvas-first architecture: Every UDF now lives inside a Canvas. Think of Canvases as folders and UDFs as files.
- Auto-save: UDFs save automatically as you edit. No more manual saves.
- Checkpoints: Save snapshots of your Canvas state and restore them anytime.
- Undo support: Accidentally delete a UDF? Press
Cmd+Z(Ctrl+Zon Windows/Linux) to bring it back. - Copy/Paste UDFs:
Cmd+Cany UDF andCmd+Vto paste it into any Canvas. - Multi-tab Workbench: Open multiple Canvases in separate browser tabs.
Improvements
- Unified Workbench layout: Canvas, Map, and Code Editor now share a single view.
- Simplified navigation: Jobs, Tokens, and Preferences moved under Account (top right).
- Canvas catalog now accessible from the Fused logo (top left).
- Sharing a Canvas automatically embeds your current view.
- AI now thinks before implementing inline changes.
Deprecations
- App Builder is deprecated. Still accessible under Account → Preferences → Deprecated.
Migration
What happens to my existing UDFs?
- UDFs already in a Canvas → No change.
- Standalone UDFs → Moved to a
defaultCanvas. - UDFs in multiple Canvases → Each Canvas now has its own independent copy.
Fixing cross-Canvas UDF calls:
If you have UDFs calling fused.load() or fused.run() to UDFs in other Canvases:
- Copy the UDF into the current Canvas, or
- Load from GitHub:
fused.load("https://github.com/...")(see load methods), or
v1.30.1 (2026-01-22)
New Features
- Experimental: Fused Apps can be added to canvas.
- Experimental: JSON-Render UI can be added to canvas.
Udf.get_access_tokenfunction.
Improvements
- Various canvas improvements.
- AI tools run in the Workbench.
Bug Fixes
- Workbench will prevent editing in multiple tabs that could result in unintended changes.
- Fixed flickering of the canvas sidebar.
- Some canvas nodes (batch jobs and others) will have opaque backgrounds to make them easier to read.
- Fixed auto retry of ingestion batch jobs.
- Fixed UDFs losing position in canvas.
- Fixed a bug where batch jobs would take longer to start.
- Fixed a bug where inline diffs could overlap.
- Fixed a bug where stdout (results panel) could fail to show for some UDFs.
v1.30.0 (2026-01-14)
New Features
- You can Command-click (Ctrl-click on Windows/Linux) on output from UDF to navigate to the line of code that produced that output.
- Added an API to get the currently executing UDF.
n_processes_per_workersupports different return types.- AI settings have been overhauled. Old profile prompts can be retrieved from the Preferences page.
- Job results will show timeline of starting the job in the Jobs Page
- File explorer has a separate play/pause state.
Improvements
- Tile UDFs won't show multiple "Large data" warnings.
- Fixes for ingesting large string columns.
fused.submitwill not run the current UDF recursively.- Many bug fixes included in this release.
- Many improvements to UDF connections (edges) and messaging in Canvas.
v1.29.0 (2025-12-18)
New Features:
- Winter holiday decorations are now added at the top of the Workbench page (this can be disabled in the preferences page.)
fused.submitsupportsn_processes_per_workerto batch work together when calling realtime instances.- Experimental: A passcode can be set on a shared canvas.
Improvements:
- Canvas UDF list has been redesigned to keep the UI more consistent and discoverable.
- Canvas catalog will be cached locally.
- Workbench Tokens and Preferences pages now show as modals above your currently opened page.
- Upgraded DuckDB to v1.4.3.
- Batch jobs page shows run time, shows exact memory and disk usage, and Fused will keep track of additional status information about batch jobs.
- "Fix" prompts for AI now quickly show a few options.
- Various AI and canvas interface improvements.
fused.ingestaccepts a job name, which will be shown on the batch jobs page.
Bug Fixes:
- Fixed a bug where 0 byte and unusually nanmed objects could not be deleted through the file explorer
- Optimized memory usage when ingesting raster data.
- Batch jobs page is more accurate about errors in logs.
- Fixed a bug with using arrow keys to navigate on the canvas page.
- Fixed a bug with passing some numpy types in
fused.submit. - File Explorer will always show the file preview, even when the canvas or map builder is paused.
v1.28.0 (2025-12-08)
New Features:
- Jobs page in Workbench now shows metrics, progress, and what UDF was run.
- Batch jobs will now be named after the UDF being run, by default.
- Raster outputs now support float and various integer types for PNG and JPG output. Values are assumed to be 0-1 for float and
min-maxfor each integer type. - Significantly improved the performance of loading large datasets in Workbench.
Improvements:
- Workbench now supports
job://style URLs for batch job IDs. - Various improvements to ingesting H3 datasets.
- Improved the suggestion and code results shown in the AI chat.
- Performance improvements in Workbench code editor.
- Show progress bar from fused.submit in batch jobs
Bug Fixes:
- Various Canvas bug fixes.
- Don't show duplicate status of AI on canvas nodes.
- Fixed an issue where certain UDF responses could be truncated.
- Batch jobs can be run with more parameters being optional.
- Batch jobs with multiple parameters will not incorrectly be cached.
- Shared canvas pages will not have the AI profile selector.
- Fixed an issue where team UDFs may be
loaded inadvertently instead of a user's own UDF. - Fixed a visual bug with the Add Billing button.
- Sticky notes in Canvas will not show as loading.
- Fixed situations where code performance profile would not be sent back to Workbench when lots of
printstatements were run.
v1.27.0 (2025-11-24)
New Features:
- Added Gemini 3 model to AI options.
- Added
fused.h3.run_ingest_raster_to_h3allowing for raster ingestion into H3 cells. - Batch jobs started from Workbench will be named after the UDF they were started from. They can also have the disk size specified.
Improvements:
- We began overhauling the jobs list page in Workbench. It should be more performant, show additional instance-related details, and fix bugs where previously selected jobs would be shown.
- Renaming a UDF will show a confirmation modal.
- On-prem batch jobs will have access to the calling user's email address.
- Adjusted the default disk sizes for batch jobs.
- Canvas features have been moved to their own section of the preferences page.
- Canvas shows an indicator when a UDF will not trigger another UDF because it is unsaved.
- Added new Canvas search interface.
- Added a dedicated docs page with examples of Canvas
- AI code changes can be partially accepted/rejected.
Bug Fixes:
- The code editor gutter will no longer flash forever when loading some UDFs.
- Fixed bugs with batch jobs with unusual settings not being runnable and not being cancelable, and with batch jobs in GCP.
- Fixed bugs with canvas not connecting UDF nodes, looping rerunning UDFs, or showing incorrect UDF run states.
- When running multiple UDFs from Workbench, you will not have to individually cancel running batch jobs if batch job UDFs are selected.
- Fixed various UI and navigation bugs in Workbench.
- Max data auto load limit will be applied to tile UDF requests.
- Adjusted AI prompts.
v1.26.3 (2025-11-19)
Bug Fixes:
- Fixed a bug calling shared token UDFs in Fused Apps.
v1.26.2 (2025-11-17)
New Features:
- You can filter for UDFs in the canvas UDF list.
- Currently open UDFs will show in omnisearch.
- Updated available AI models.
Improvements:
- Canvas outlines have been improved.
- Added a Switch repository button to the version page.
- Batch jobs default to a larger disk size.
- DuckDB upgraded to v1.4.2.
- Improved performance of rendering some HTML responses in Workbench.
Bug Fixes:
- Fixed a bug with calling
fused.submitin a loop. - Fixed passing environment variables to batch jobs running in GCP.
- Fixed a layout shift in omnisearch.
- Fixed running some async UDFs.
v1.26.1 (2025-11-13)
Improvements:
- Added package
whitebox-workflows.
Bug Fixes:
- Profile page debug tabs are condensed into a single debug tab.
- Removed some more unused debug information from canvas exports.
- Adjusted
fused.submitsleep times when running more tasks than workers. - Improved performance of file explorer in Firefox.
- Fixed bugs where AI diffs could lock up the page.
- Fixed bugs where AI diffs could disappear without being accepted.
- Fixed bugs with AI queries against loaded data when the UDF had been renamed.
- Changed Canvas drag behavior.
- Fixed the code timing profile not appearing.
v1.26.0 (2025-11-12)
New Features:
- AI can run queries against loaded data using DuckDB in Explain mode.
- UDFs can send parameters to other UDFs, which will appear as edges and can trigger runs.
- New experimental option for "floating" edges in canvas.
- New experimental snap-to-guideline in canvas.
- Hovering over a UDF in canvas will show a code preview.
- New enterprise deployment mode.
Improvements:
- HTML output of UDFs in Canvas is adjusted to be easier to see.
- Workbench will show a message if duplicate UDF names or IDs are loaded.
- Simplified the UDF conflict modal when possible.
- GCP environments now support more and larger instance types (M3).
- GCP batch jobs support caching.
- "Reset" in Workbench will also reset parameters on UDFs.
- Map visualization settings now support AI changes.
- Workbench will now cache UDF content locally.
- UDF share URLs can now have the output format specified using a file extension.
- UDF name changes will be saved immediately.
- Added GLM-4.6 model option.
- Adjusted how raster (image) data will render in Canvas.
Bug Fixes:
- Fixed bugs with inline diffs generated by AI.
- URLs highlighted in Workbench will include parts after
&. - Fixed bugs with collapsing content in the UDF list in canvas.
- Fixed bugs with starting batch jobs in GCP.
- Fixed
all_succeededinfused.submitwith batch jobs. - Fixed bugs with importing UDFs from GitHub having conflicts.
- Restored table view in file explorer.
- Fixed a bug with the map visualization preset button not applying, and with clicking off the form.
- Fixed a bug with public UDF tokens not navigating to the catalog.
- Canvas save-all should be faster.
- Fixed bugs with finished or failed batch jobs appearing as In Progress.
- Disabled
tqdmprogress bar output in batch jobs. - Fixed possible recursion storm with batch jobs.
- AI prompts from Canvas will switch to the Build profile.
- Canvas will not draw edges from a UDF to itself.
- Fixed being able to remove a shared token from Workbench when the token is no longer valid.
- Fixed batch jobs incorrectly showing as running in canvas.
- Fixed Reset to GitHub not resetting some state.
- Fixed the versions page causing UDFs to re-run.
- Fixed scaling issues with some API calls.
- Fixed Workbench switching pages under some modals.
fdpaths will be resolved in Workbench and replaced with the appropriates3(or other) URL.- Removed some unused debug information from canvas exports.
- Fixed the Omnisearch input getting focus after closing a modal.
v1.25.1 (2025-10-29)
New Features:
- Experimental relationships (edges) between canvas nodes, allowing for creating a new UDF from an existing data UDF, seeing the data relationships between UDFs, and triggering a chain of UDFs.
Improvements:
- Canvas nodes will show "Rendering" when waiting for the browser.
- AI chat can now see the list of functions and UDFs.
- AI chat can call a tool to execute the UDF itself.
- AI chat now features exacto models.
- Workbench will ask to confirm if you leave the tab while a save is in progress.
- UDF Explorer in canvas now includes open shared URL button.
- Code folding is now configured to not fold the
udffunction. - Random UDF names are chosen from a larger pool.
- Improved performance of loading UDF endpoints.
- HTML output used in Canvas will default to having some additional code and styling added.
Xarrayupgraded to 2025.10.01.- Parameters passed to
fused.runwill be more consistently serialized.
Bug Fixes:
- Adjusted the UI for paused canvas.
- UDF actions in canvas will look the same as the rest of the app.
- Adjusted Hyparquet link location.
- Fixed deleting S3 directories with many objects.
- Fixed save all UDFs when names conflict.
- UDF favorites can be saved in the cloud.
- AI chat will have more consistent ordering of context items.
- AI model selected for inline edits will be persisted.
- Fixed bugs with UDFs showing as "running" in canvas even though they were not actually running.
- Fixed bugs where the UDF Explorer listing would get truncated for users with many UDFs.
- Canvas will not reorder nodes in shared mode.
- Fixed an error when running UDFs with many lines of code and the profiler option was on.
- Fixed "remove" being disabled on some UDFs on canvas.
- Canvas sticky notes being removed will result in them being deleted permanently.
- UDFs deleted from settings will be deleted from Workbench too.
- Fixed a bug where UDFs called within a UDF called from a shared token would themselves not be able to call UDFs by name.
- Fixed the error message when an invalid
cache_max_agevalue was passed.
v1.25.0 (2025-10-22)
New Features:
- Workbench now auto-analyzes error messages from UDFs & suggest an AI fix
- Added
fused.contextAPI for accessing advanced parts of the UDF request. - Added Claude Haiku model support.
- UDFs can now be favorited in Workbench.
Improvements:
- Shared tokens will now use
udf.ai. - Shared token URLs now default to HTML when no format is specified.
- UDF list in canvas shows the UDF status.
- Results panel will no longer pop-up in canvas.
- Workbench's UDF Explorer will now open quicker with cached UDFs.
fused.runwill serialize more values for passing to UDFs.- Canvas has a new auto-arrange feature.
- Workbench pages such as jobs list and file explorer are now modal overlays.
- Run/Freeze button has moved from the results panel back to the Canvas panel.
- Adjusted how AI finishes responses, adding new summaries and auto-naming.
- Dataset index now includes column statistics.
- Workbench table view now shows records count.
- Canvas now supports Parameter-type messages sent to/from UDFs.
- Reset button in Workbench now resets parameters set on UDFs.
fused.cacheno longer takes (potentially changed) variables into account that are defined outside of the function body- Improvement for caching of "nested UDFs" (a udf defined in the code and run by the main udf UDF), to not consider the full code but only the code used by that nested UDF
Bug Fixes:
- Fixed various bugs with the canvas editor and canvas share mode.
- Fixed various bugs with the AI panel's context selection menu and send button.
- Fixed local engine cache when loading UDFs with
fused.load. - Fixed job details scrolling to top when new logs were available.
- Fixed showing many toast messages when saving a canvas.
- Shared tokens and batch jobs will now load UDFs the same as how they would when run by their original author.
- Fixed some broken Omnisearch shortcuts.
fused.submitUDF and arguments are not longer required to be positional.- Prevented infinite recursion when determing the cache key for
fused.cache. - Fixed using an incorrect Git path to fetch content from community repos.
- AI thinking now supports auto-scroll.
- AI panel persists the prompt when changing model.
- Fixed a bug where some
printstatements could result in logs that error'd when sending back to Workbench. - Adjusted how many UDFs are returned from the server to Workbench at once.
v1.24.5 (2025-10-13)
New Features:
- You can now directly paste context items into AI chat with text like
[@my_other_udf]. - It is now possible to retrieve header values from within UDFs.
Improvements:
- Improved feedback that a UDF is running in Workbench.
- The default AI profiles in Workbench have been renamed to "Fast", "Explain", and "Smart".
- Enabled nesting of UDFs under certain circumstances.
- File explorer is now shown above the currently open page.
- Upgraded DuckDB to v1.4.1.
- Workbench will show cached UDF Explorer data until it is refreshed.
Cmd+Shift+Fis now bound to toggle code folding.
Bug Fixes:
- Smoothed out the experience working with Canvas. Many bugs, keyboard shortcuts, UI elements, and interactions were adjusted.
- Collections were renamed to Canvas in a few places.
- Fixed a bug when opening Workbench with an AI prompt provided in the URL.
- Fixed a bug with opening pull requests on the public UDF repo from within Workbench.
- Adjusted the AI prompts in Workbench.
- UDF details page now shows code first.
- Adjusted versions page styling.
- Fixed the changes modal empty state styling.
- Uploaded UDFs will no longer inherit version control metadata.
- It is no longer possible to hide the Canvas in the Canvas page.
- Upload modal will now open data with file opener UDFs.
Udf.to_fusedis now more robust for flaky network situations.- Fixed bugs where saving UDFs would not break the Canvas cache.
v1.24.4 (2025-10-06)
New Features:
- Drag & Drop upload of files anywhere in Canvas view!
Improvements:
fused.submitnow supportsinstance_typeparameter.- Workbench will remember which page you were on before switching to some tabs, so you can go back.
- Returning numpy arrays with 4 or more dimensions will be truncated to 3 dimensions for PNG visualization.
- Supervisor profile is available without enabling an experimental feature.
Bug Fixes:
- Various bug fixes for Canvas UI.
- Workbench will clean up old AI chats from your browser.
- Fixed
fused.api.job_get_exec_time. - Fixed fetching a single result for large (batch) UDF runs.
fused.runwill passcache_max_agefor large jobs.
v1.24.3 (2025-10-03)
New Features:
- Sticky notes are supported in canvas view.
- Canvas view now has an auto-arrange button.
- It is possible to start AI changes directly from the canvas view.
Improvements:
- Improved how UDF context is passed to AI chat, and removed Rename from default tools.
- File Explorer will open files in the canvas view instead of the UDF builder view.
- Fused-py will prefer
npyformat for numpy arrays. - UDFs can be deleted from the settings modal.
Bug Fixes:
- Fixed UI layout bugs in canvas view and AI chat.
- Fixed bugs with starting ingest jobs.
- Fixed bugs with AI auto-retry.
v1.24.2 (2025-10-01)
New Features:
- Added Claude Sonnet 4.5 model.
- Canvas mode has a UDF selection list in its home view.
- AI chats can continue in the background.
Improvements:
- Improved highlighting of syntax errors in Workbench.
- Improved highlighting of UDF execution errors in Workbench.
- Adjusted the design of omnisearch at the top panel of Workbench.
- Batch jobs in Workbench run based on cache_max_age.
- Various canvas UI improvements.
- Upgraded package
arraylake, and addedicechunk.
Bug Fixes:
- Fixed pending changes still showing after switching UDFs.
- Fixed an issue with saving UDFs and shared tokens slowing down.
- Fixed stale data being cached locally when importing a canvas (collection).
- Fixed an issue where UDF renames would incorrect choose to show the "duplicate UDF name" modal.
v1.24.0 (2025-09-29)
New Features:
- Canvas view now default in Workbench!
- UDF are now only shared to "Team" by default rather than "Public"
Improvements:
Canvas View:
- Ability to share Canvas in a single click
- Added Team / Public sharing options for Canvas (default to Team)
- Easily see if your Canvas was successfully run or failed
- Simplified 2 panel layout: Jump between code & AI on the left and Canvas on the right
- Hide / Show UDFs
AI Chat:
- Much better support for multiple AI chats running at the same time in different UDFs
- Improvements to Experimental Supervisor mode
- Adding inline diff view to code changes made by AI
- Improved charting ability in AI chat
Workbench:
- Added S3 policy tab to profile modal
Dependencies:
- Update
pyogrioto 0.11 - Update
duckdbto 1.4.0
Bug Fixes:
- Fixed bug in Version tab
v1.23.0 (2025-09-18)
New Features:
- New experimental "Supervisor" mode in AI chat, which features more Workbench capabilities and enhanced search capabilities. Different tools in Supervisor mode can be turned on and off in the AI chat settings.
- Workbench can now run UDFs in batch mode when
instance_typeis set on@fused.udf(). - AI changes now show an inline diff in the code editor.
Improvements:
- Many UDF actions can now be done directly inside Canvas.
- Improvements to prompts and automatic suggestions in AI chat.
- You can now stop dictation and send by clicking the send button in AI chat.
- HTML view in Workbench will again show UDF output as it will be embedded.
- AI chat settings page has been visually updated to be easier to follow.
- Added "Fold all code" and "Unfold all code" actions in the search bar, and Workbench will now remember what code blocks were folded in a UDF.
- Inline AI and Auto share on save are now general preferenecs, rather than experimental.
Bug Fixes:
- Provided more informative warning messages in the Python SDK.
- Allowed non-authenticated users to retrieve public UDFs.
- Fixed JSON serialization of GeoDataFrames without geometry columns.
- Fixed
/publicUDF page. - AI chat will scroll to bottom more consistently.
- AI chat will show tool calls in thinking blocks.
- Backend-informed autocomplete is re-enabled.
API Changes:
- Removed deprecated
jobfunction. - Made batch job logs more concise.
- Upgraded DuckDB to v1.4.0.
v1.22.8 (2025-09-11)
Bug Fixes:
- Fixed passing a parameter named
urltofused.run. - Fixed data table filter interactions with overflow and fullscreen, and fixed min/max labels.
- Fixes for the view changes modal and fixed a crash when duplicating UDFs.
- Fixed an issue where large error messages could cause no useful information to appear.
- Fixed an issue where GitHub PR information would not synchronize well.
- Fixed Workbench not showing a UDF was running and improved it to show the elapsed time.
v1.22.7 (2025-09-09)
New Features:
- Experimental: Dataset discovery in AI chat.
- New Kimi K2 model added to AI chat.
Improvements:
AI & Chat:
- Improved AI chat window with better error handling and scrollback/redo functionality.
- AI can now fetch datasets via tools and S3 URLs in chat are now clickable.
- Better context management and the context size is now shown.
- Model selector synchronizes with profile model selector.
Workbench:
- Enhanced version control with improved diff viewer and more prominent titles.
- Auto-save UDFs after commit creation and when resolving stale UDFs.
- Enhanced data table with improved copy functionality, date filtering/sorting, and better header responsiveness.
- File UDFs now duplicate instead of showing conflict modals for better UX.
- Better UDF management with streamlined rename handling and duplicate detection.
- Theme fixes and UI improvements across the interface.
Data & Datasets:
- UTF-8 encoding by default for HTML data returns.
- Improved dataset sorting and search functionality.
Bug Fixes:
- Fixed serialization errors for UDFs returning interval categories with better error messages.
- Resolved UDF conflict modal issues and improved saving from action buttons.
- Improved UI performance when renaming UDFs, and in the AI chat.
- Corrected UDF icon display on hover in version pages.
- Fixed slider component thumb positioning.
- Fixed various canvas and UI stability issues.
API Changes:
- Polling-based UDF execution now enabled by default for
fused.run(). - Single serialization output format parameter in UDF run URLs, via
format. Backward compatibility maintained fordtype_out_vector/rasterparameters.
v1.22.6 (2025-09-02)
New Features:
Re-Launching udf.ai! Let anyone talk to your data!
Learn how to connect your own data or analysis here
- Experimental: "MCP Creator" AI profile to simplify creation of MCP servers from UDFs. Read more.
- Experimental auto-retry on errors: AI will try fixing the error until it can either fix it or hits its limit.
- Experimental: Dataset discovery scheduling in unstable environments.
- Experimental: Collection share tokens.
Improvements:
- AI Chat: More models, faster inference, better UX and error handling.
- AI now better understands data & has significantly improved ability to make charts especially for larger datasets.
- Workbench: Enhanced version page, improved UDF management flow, better data table filtering.
- Git integration: improved experience when pushing UDFs to GitHub.
Bug Fixes:
- AI & UDFs: Prevented AI writing to read-only UDFs, fixed serialization errors, JSON args, and File UDF save states.
- Version Control: Fixed stale UDF updates, staging detection, and backendId preservation.
- UI: Fixed Windows Ctrl+Click, modal flickering, autosave callbacks, and selection issues.
- [Experimental] Canvas: Fixed node persistence.
v1.22.5 (2025-08-26)
New Features:
- Experimental Canvas mode.
Improvements:
- Added Deepseek v3.1 model to AI chat.

- AI chat has better layout and indicators for its settings. AI chat also shows user input when asking for more instructions.
- Versions button has moved to the bottom of the Workbench sidebar.

- Versions page shows the difference between upstream and a saved copy of a UDF.
- Versions page shows team repositories first, and will prompt when changing repository to a public one.
- Data table widget has
bigintsupport, copy to clipboard, improved headers, and better filter support.

- Added html5lib package to the runtime.
Bug Fixes:
- AI chat will not suggest charting very small dataframes, along with other improvements to its suggestions and auto-fixes.
- Fixed bugs with the visualization menu in the map view. It works again and will not crash when no UDF is selected.
- Workbench won't show delete and versions button when they cannot do anything.
- Bug fixes for the conflict modal in Workbench not working or not updating the existing UDF.
- Fixed Workbench profile text for enterprise users.
API changes:
- Large jobs can now be run using
fused.runand theinstance_typeparameter.
Deprecations:
- Parameters under the UDF in the advanced UDF editor is deprecated. It can be turned back on from the Workbench Preferences.
v1.22.1 (2025-08-19)
Improvements:
- Inline AI editing is enabled by default.
- Improved data table component filtering.
fused.submitresults are cached by default.- AI chat will now suggest new users to login after first prompt
- Multiple open tabs message will appear at the top of the page instead of as a modal.
Bug Fixes:
- Fixed a bug when loading some HTML UDF outputs that caused them to not load scripts.
- Fixed bugs with AI prompts.
- Fixed bugs with navigating to particular UDFs on the version page.
- You can opt to keep a changed version of a UDF instead of reloading with changes.
- Fixed file explorer for basic tier users.
- Fixed the Add Billing modal appearing when it was not supposed to.
- The UDF selector has a minimum width and is no longer editable.