github observablehq/framework v1.5.0

latest releases: v1.9.0, v1.8.0, v1.7.1...
7 months ago

Live config

Changes to the project config (observablehq.config.js) now take effect immediately ๐ŸŽ‰ on reload or navigation during preview, without needing to restart the preview server: the preview server now loads the latest config on request rather than preloading it on startup. Likewise, the default list of sidebar pages is now computed on request, and hence a server restart is no longer required when adding, removing, or renaming a page. Weโ€™ve also optimized parsing and caching to improve performance during preview.

The preview socket now automatically reconnects if the preview server restarts. No more broken sockets! ๐Ÿ˜Œ

External link treatment

External links how have target="_blank" and rel="noopener noreferrer" applied by default. This improves privacy by not sharing the (potentially sensitive) referrer when linking to a (potentially untrusted) external site. You can override this for a given link by setting the target and/or rel attribute explicitly.

Other improvements

The new FileAttachment.href property returns the absolute URL to the associated file. Use this simpler alternative to the async FileAttachment.url() method.

Safari 16 is now (again) supported. (We were unintentionally generating code with static initializer blocks which were only added in Safari 16.4.) Invalid Markdown front matter is now treated as page content, and logs a warning, instead of crashing. The default Mermaid theme is now consistent with the chosen page themeโ€™s color scheme, rather than exclusively reflecting the userโ€™s preferred color scheme (consistent with the built-in dark reactive variable). Static <script type="module"> are now only preloaded with <link rel="modulepreload"> if the script element does not have an async attribute (which we assume implies a lower-priority script, such as analytics).

The observable create command now uses the default path hello-framework instead of ./hello-framework, making it less confusing on Windows (where \ is the path delimiter instead of /). In addition, observable create now builds the project, ensuring instant initial page loads during preview since npm: imports and data loaders will already be cached. The observable logout command now logs a confirmation message on successful sign-out.

Full Changelog: v1.4.0...v1.5.0

Don't miss a new framework release

NewReleases is sending notifications on new releases.