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