Release notes

Subscribe to release notes via RSS to keep up to date with everything we ship.

Dashboards and controls

We are beginning to roll out dashboards and controls to Observable Canvas users.

  • Use the “Control” button on the bottom toolbar to add an input control to your canvas, such as a slider, date range, or toggle.

    • Controls can be referenced by name in SQL nodes. When you interact with a control, your query (and anything downstream) will update.

    • You can configure the available options for each control.

    • Controls types include date, date range, numeric range, radio group, select, slider, text, and toggle.

  • Use the “Dashboard” button on the bottom toolbar to add a dashboard builder to your canvas.

    • You can name your dashboard and add nodes and controls to it.

    • You can view your dashboard at its own dedicated page in a mobile-friendly responsive grid layout.

    • Nodes and controls retain their same dataflow from the canvas, so you can interact with your dashboard through controls and chart brushes.

Tiled dot maps in Observable Canvases

Tiled dot map, a new chart type in Observable Canvases, allows you to create interactive, zoomable tile maps from a set of latitude and longitude coordinates.

Observable Canvases, September 18 releases

New Features & Enhancements

Data Connectivity & Sources

We've expanded data source support with some significant additions:

  • BigQuery support is now available for early access testing. You can connect to BigQuery data sources with full AI integration and support for multiple datasets within a project.

  • Databricks connections now work better with OAuth authentication using a Service Principal for enhanced security. You can also work across multiple catalogs with catalog-qualified queries and cross-catalog joins. We've also fixed issues with SQL dialect handling when chaining SQL nodes together.

Canvas Interface & User Experience

The canvas interface now works more smoothly:

  • Node management has been improved with the ability to minimize and maximize nodes while preserving their original sizing. Context menus now include keyboard shortcuts (⌘/Ctrl-M for minimize, ⌘/Ctrl-D for duplicate). When you add new nodes, the camera automatically positions to center them properly.

  • Canvas titles can now be edited inline with real-time collaborative editing that syncs changes across all clients viewing the canvas.

  • SQL and JavaScript editing is more responsive. The editor now automatically focuses when you enter edit mode with improved line highlighting. Error messages are clearer and include calculated line numbers for SQL errors. When you add new nodes, the editor automatically gets focus so you can start typing immediately.

Data Analysis & Visualization

We've added new analysis capabilities and improved existing charts:

  • Group By nodes now support median aggregation for numeric columns alongside the existing sum and mean options.

  • Chart support has been expanded with support for both 2-letter and 3-letter ISO country codes in world choropleth maps. We've unified how different numeric data types (integer, bigint, number) are handled across charts. Column charts now have proper default heights and bump charts no longer have their x-axis cut off. Line charts now handle color scales correctly.

  • Map visualizations have improved typography and legends for both cartogram and choropleth maps.

  • Performance has been optimized by limiting line charts to the top 1,000 lines to prevent memory issues with very large datasets.

Bug Fixes & Improvements

Performance & Stability

Several behind-the-scenes improvements make things run more smoothly:

  • Memory management for line charts with large datasets has been fixed to prevent performance problems.

  • Error handling is more robust with better cycle prevention in op graphs and improved error states throughout the interface.

  • Image exports now preserve global styles correctly, especially for Sankey and beeswarm charts.

User Interface Fixes

We've fixed several interface issues:

  • Interaction problems have been resolved where clicking on select menus would interfere with node border interactions. Hover states and pointer cursors now work consistently across all interface elements. Icon stroke widths are now visually consistent.

  • Navigation issues have been fixed including sidebar width problems when page titles are long, improved toolbar pointer states, and corrected tab labeling (the From node's "Tables" tab now has the right name).

Data & Connectivity

Authentication and data handling work more reliably:

  • Authentication tokens now refresh properly for long-running canvas sessions, preventing connection issues after extended use.

  • Profile management now works correctly for users with multiple authentication methods when changing email addresses.

  • Chart encoding issues that prevented numeric columns from being detected properly have been fixed.

  • SQL error messages are now clearer, especially for statements that don't start with SELECT.

Observable Canvases GA release

We have added significant new functionality:

  • You can now create an iframe that embeds any part of a canvas by right-clicking and selecting “Generate embed code”. If a node’s data is more than 24 hours old, embeds pull fresh data. Since embeds use an API key to access your data source, they should only be embedded for a trusted internal audience.

  • Presentation views now support reactive interactive filtering and fresher data. If a node’s data is more than 24 hours old, presentation views will now also pull fresh data. They also now show any edges that exist between displayed nodes.

  • There are several new chart types: stacked area, streamgraph, bump chart, circle packing, isotype, and arc map (inspired in part by this recent map in the New York Times).

  • You can now see and restore past versions of the canvas from the main menu > “File” > “Show version history”. New versions are automatically saved every minute while you edit, or you can add a manual version with a note.

Some things now work a bit differently:

  • Clicking a node once now merely selects it, so you can resize, drag, duplicate, etc. To interact with or edit the contents of a node, you now have to double-click it, which matches the behavior of other editable shapes. With a node selected, you can also press Enter to edit it, and Esc to exit edit mode.

  • Nodes are now connected using a new shape called a “connector” (instead of arrows), which connect to ports on either side of the node. Connectors disallow connections that don’t make sense, like duplicate inputs or circular references. Referencing a table in a SQL node produces a read-only connector pointing to that table.

  • The menus and panels on the left have been combined into a single full-height sidebar. Collapse it to a small floating panel with a “Toggle sidebar” button.

  • You can now add new nodes downstream from a vertical toolbar floating to the right of the node.

  • The chart sidebar settings have been redesigned into three tabs: the “Type” tab (browse and select chart types) and “Data” tab (configure encodings), and the pre-existing “Options” tab.

  • Stacked bars and columns are now separate chart types from unstacked bars and columns.

We’ve improved the overall robustness and “quality of life”:

  • The data panel now supports multiple schemas, and will list all schemas it has access to in the data source.

  • When a node is disconnected from its input, it now retains its data and shows a “Missing connection” warning. Downstream nodes also retain data, and show a “Input data error” warning.

  • Refreshing the data in one node now also refreshes the data in downstream nodes.

  • Table footers now show if any filters are applied.

  • You can now click “Join” in the column menu to initiate a join on the given column.

  • Pressing the tab key in the SQL and JavaScript node editors now indents the code.

  • The AI can now make any chart type available in the chart node.

  • Users with a “viewer” role in their workspace now see canvases in a “detached mode” in which they can change filters and brushes, but their changes will not be saved.

  • Many other error states have been improved, many other loading states are now cleaner, and many other bugs have been fixed.

And some functionality has been replaced or removed:

  • The Where node has been removed. Existing Where nodes have been migrated to SQL nodes.

  • The Select node has been removed in favor of a new “Columns” tab in the node settings sidebar. Existing Select nodes have been migrated to a Table node; you will have to re-select the intended columns.

  • The main menu no longer has options to change language or color theme in the main menu, which did not work.

  • Right-clicking nodes no longer has the “Flatten” option, which also did not work.

Previewing Observable Notebooks 2.0

We’re excited to share a preview of the next generation of Observable Notebooks! Today’s technology preview release includes:

  • Observable Notebook Kit - An open file format for notebooks, and accompanying open-source tooling for generating static sites

  • Observable Desktop - A macOS desktop application for editing notebooks as local files, and with a radical new approach to AI

You can learn more and download Observable Desktop by visiting the Notebooks 2.0 website.

Observable Canvases, July 15 release

  • We’ve officially launched AI for canvases. Read the announcement.

  • You can now make canvases with Databricks data sources.

  • Added a beeswarm chart type.

  • Adding a child to a node in a frame now creates the child in the frame.

  • Sankey diagrams can now be sorted alphabetically or by size.

  • The From nodes’ table selector now matches the left data panel and includes search.

  • AI now stops its work if you switch pages and stops more reliably.

  • The old deprecated Join node has been removed. If you have canvases still using the old Join node, you will have to reconnect their input edges to fix them.

Observable Canvases, July 9 release

  • You can now make canvases with Postgres data sources.

  • Expanded the choropleth to support either a U.S. or world base map.

  • Added a dot strip chart type (a scatterplot with ordinal y and quantitative x).

  • Sankey diagrams now default to sizing by count.

  • Sankey diagrams now have options for filtering nulls and merging source and target.

  • AI now understands more about bar charts, scatterplots, and treemaps.

  • AI now remembers its last prompt and output even if you’ve panned away.

  • AI now identifies nodes primarily by the same names you see and edit.

  • Improved handling of BigInt and Time units in DuckDB sources.

  • Fixed issue where you could add a broken DuckDB table before it had loaded.

  • Fixed histograms’ multiline brush labels in Safari.

Observable Canvases, July 1 release

  • The join node can now join to any table on the canvas (instead of just to database tables).

  • Line charts support new options for binning intervals, axis labels, and axis ticks.

  • Added a Sankey diagram chart type.

  • AI is now more concise.

  • AI now highlights questions for you to respond to.

  • The JavaScript node’s CSS now matches notebooks’ CSS.

  • Uploading a file to a DuckDB canvas no longer immediately adds the table to the canvas. (Click “+” beside a table in the data panel to add it.)

  • Fixed AI to see nodes inside of frames.

  • Fixed SQL parsing to support trailing comments.

  • Fixed autocomplete clipping in JavaScript and SQL nodes.

  • Fixed SQL and Derive nodes to re-run children after filtering.

Observable Canvases, June 23 release

  • Nodes are now named by default. (Double-click the name in the header to edit.)

  • You can now add a SQL node querying the selected node from the “+” menu.

  • AI now puts its canvas work in a frame labeled with your prompt.

  • AI now sees more detail to match what you see in column summaries.

  • Updated fonts (Draw, Sans, Serif, and Mono) to better match notebooks.

  • Fixed bug where summary charts of time columns would fail to load.

  • Fixed Snowflake “Edit database” settings to remember password until reset.

Observable Canvases, June 17 release

  • The default font on canvases is now sans-serif instead of handwritten script.

  • You can now toggle column summary charts in tables’ “⋮” menu (upper right).

  • Duplicating nodes now maintains upstream inputs.

  • Line charts’ y-axes now include 0 if the data’s minimum is a small fraction of the maximum.

  • AI now takes better advantage of available chart options.

  • AI now shows an error when it cannot connect.

  • Categorical column summaries now alphabetize values with equal counts.

  • Nulls in column summaries now have a hatched background, and “Others” are cross-hatched.

  • Long column names in the data pane now truncate instead of wrapping.

  • Fixed dates from Snowflake sources to display in UTC instead of local time.

  • Fixed tables losing scroll position when blurred.

  • Fixed syntax highlighting in SQL nodes.

  • Fixed intraday brushing of line charts.

Observable Canvases, June 9 release

  • Added new line charts with smart collision-avoidant labeling.

  • Temporal histograms now have configurable bin interval and rolling averages.

  • Bar charts now have configurable sorting.

  • Density plots now have configurable scales.

  • The AI now understands top column values and more about histograms.

  • The AI now understands which nodes depend on which.

  • The AI’s filtering is more reliable and adds new nodes instead of editing existing ones.

  • The AI can now use the UI to group, limit, and sort rows, and to derive new columns.

  • The AI no longer writes SQL and JavaScript nodes by default. (Toggle them in Menu → “Developer tools” → “Show AI options”.)

  • You can now press Shift-Return to run a code node.

  • You can now set arrows to the “elbow” style. (tldraw v3.13)

  • Fixed numbers and bullet points disappearing in lists. (tldraw v3.13)

  • Fixed scrolling nodes’ side panels, including SQL and JavaScript editors.

  • Fixed some transient errors while loading charts.

  • Fixed some bugs in filtering histograms.