Release notes

Subscribe to release notes via RSS, or follow @observablehq on X to keep up to date with everything we ship.

Observable Framework 1.7.1

  • The build command now outputs page stats during build so you can easily keep an eye on page weight for a great user experience.

  • Other bug fixes.

See release notes on GitHub for more details.

Observable Framework 1.7

  • The default source root is now src.

  • Markdown enhancements: new typographer and quotes options for smart quotes, and linkify option.

  • Improved Node import compatibility.

  • Faster incremental deploys to Observable.

See release notes on GitHub for more details.

Pricing tier changes

  • Starter tier workspaces are now limited to 1 member, and can be upgraded to Pro (with a trial period) for collaboration in notebooks.

  • Pro tier workspaces can now be created with no minimum number of members, and the pricing is still $22/mo per user when billed annually, or $25/mo when billed monthly.

For more details, view our pricing page.

Analytics for hosted projects on Observable

  • Framework project details now show analytics for tracking page views and visitor engagement.

  • Visualize project and page engagement through new timeline visualization.

  • Available exclusively for projects deployed on Observable.

Observable Framework 1.6: Importing from node modules

  • Node imports: Framework now supports importing from node_modules! This lets you manage dependencies with npm or Yarn, import private packages, or import from a different package registry such as GitHub.

  • Updates to documentation, deploy improvements, and more...

See release notes on GitHub for more details.

Observable Framework 1.5: Live config, external links, and more

  • Live config: Changes to the project config (observablehq.config.js) are now applied immediately on reload or navigation during preview. Parsing and caching has been optimized, and the preview socket now reconnects automatically after server restarts.

  • External links: External links now include target="_blank" and rel="noopener noreferrer" attributes by default, enhancing privacy by preventing referer sharing to external sites. This can be overridden by setting the target or rel attributes explicitly.

  • FileAttachment enhancement: Introduced the FileAttachment.href property for easier file URL access as an alternative to the async FileAttachment.url() method.

See release notes on GitHub for more details.

Easier project sharing, access to project details

  • Framework projects displayed in your workspace now show who you’re sharing projects with, the date of last deployment, and any recent errors or notifications.

  • Sharing settings of projects can now be accessed from the ellipsis (...) menu.

  • Project details, including a list of deploys, can be viewed by clicking the gear icon.

Observable Framework 1.4: Query remotely-hosted data, reference local assets, and flexible deploy options

  • Query remotely-hosted data: Now you can query remotely-hosted data directly with SQL code blocks and DuckDBClient, making it easier to work with live data without embedding it into your site.

  • More local assets: You can now reference files and scripts in the head, header, and footer config options, simplifying the integration of external resources and scripts into your projects.

  • Flexible deployment options: The build and deploy processes are now separate, allowing for more control over your deployment workflow.

See release notes on GitHub for more details.

Observable Framework 1.3: Mosaic support, data loader enhancements, and more

  • Framework now has built-in support for Mosaic vgplot, enabling coordinated views over millions of data points for instant interactivity and cross-filtering capabilities without the need for complex setup.

  • We’ve added an interpreters config option for extending data loaders — if the language you want to use for data loaders is not supported by default, it’s now easier to extend support.

  • New config option cleanUrls preserves the .html extension in links if set to false. Also, URLs in Markdown now automatically turn into clickable links.

See release notes on GitHub for more details.

Observable Framework 1.2: SQL code blocks, powered by DuckDB

  • Write SQL queries in ```sql fenced code blocks over CSV, TSV, JSON, Apache Arrow, or Apache Parquet files.

  • Display query results in tables or visualize them with Observable Plot.

  • Interpolate dynamic values using inline expression ${…} for interactive queries.

See release notes on GitHub for more details.

Observable Framework 1.1: Windows and Node 18 support, self-hosted npm imports, and more

  • Windows support: Framework now supports Windows!

  • Self-hosted npm: imports: Framework now automatically downloads npm: imports during preview and build, improving performance and security by removing external dependencies, and allowing offline development. This applies to static imports, dynamic imports, and import resolutions (import.meta.resolve).

  • Node 18+ support: We now ship pre-built JavaScript rather than relying on a custom module loader to load TypeScript at runtime, allowing us to support older versions of Node.

  • Yarn Berry support: Framework now supports both Yarn Classic (1.x) and the most recent versions of Yarn (4.x).

  • CommonMark compatibility: Framework now conforms to the CommonMark spec, removing a quirk with blank lines and allowing Markdown within HTML blocks.

  • Content-hashed file names: Framework now generates content-hashed file names, ensuring cache-breaking on deploy and allowing cache-control: immutable for faster page loads.

  • Draft mode: The new draft: true front matter option allows you to exclude pages from build until they are ready for publication.

  • Improved search: Search now supports all Unicode writing systems, normalizes diacritics and HTML entities, and a new keywords option.

  • Apache ECharts, markdown-it plugins, bug fixes, and more…

See our release notes on GitHub for everything new in Framework 1.1!