All changes included in 1.8:
Regression fixes
(#6607): Add missing beamer template update for beamer theme options:
colorthemeoptions,fontthemeoptions,innerthemeoptionsandouterthemeoptions.(#12625): Fire resize event on window when light/dark toggle is clicked, to tell widgets to resize.
(#12657): Load Giscus in generated script tag, to avoid wrong-theming in Chrome.
(#12780):
keep-ipynb: truenow works again correctly and intermediate.quarto_ipynbis not removed.(#13051): Fixed support for captioned Markdown table inside Div syntax for crossref. This is special handling, but this could be output by function like
knitr::kable()with old option support.
Backwards-compatibility breaking changes
(#13104): Remove
posit-cloudasquarto publishdestination. See https://docs.posit.co/cloud/whats_new/#october-2024 for details.
Dependencies
Update
bootstrap-iconsto version v1.13.1 from v1.11.1.
Formats
html
(#678): a11y - Provide appropriate
aria-labelto search button.(#726): a11y - Provide
.screen-reader-onlycallout type when callout text doesn't naturally include the type.(#5538): Fix code-copy button style so that scrolling behaves properly.
(#5879): Improve font rendering of
kbdshortcode on macOS.kbdwill now also be stricter in converting keyboard shortcuts to macOS icons.(#8568) Default inline code background color to the code block background color if not specified; foreground color is
$pre-colorin dark mode and (remains) purple in light mode.(#10983): Fix spacing inconsistency between paras and first section headings.
(#11982): Ensure brand.yml logos are resolved correctly when document is in a subdirectory.
(#12259): Fix conflict between
html-math-method: katexand crossref popups (author: @benkeks).(#12341): Enable light and dark logos for html formats (sidebar, navbar, dashboard).
(#12501): Enable
source: fileforbrand.ymlfonts in HTML.(#12643): Ensure brand.yml logos using urls are rendered correctly by passing them through when resolving brand
processedData, and not processing them as paths.(#12734):
highlight-stylenow correctly supports setting a differentlightanddark.(#12747): Ensure
thelements are properly restored when Quarto's HTML table processing is happening.(#12766): Use consistent equation numbering display for
html-math-methodandhtml-math-method.methodfor MathJax and KaTeX (author: @mcanouil)(#12797): Allow light and dark brands to be specified in one file, by specializing colors with
light:anddark:.(#12919): Ensure
kbdshortcode output has hover tooltip.(#12981): Brand should be applied in dark mode when dark mode is enabled by the theme, not the brand.
(#13004): Brand logo shortcode automatically applies
.light-contentand.dark-contentclasses, inserts both light and dark logo if brand mode is not specified, and uses alt text from brand logo spec.
revealjs
(#10933): Revealjs supports alt text on logo, as well as customization of light and dark logos at the document level, consistent with other formats.
(#12550): Revealjs supports
brand-mode, allowing to select either the light or the dark brand.(#12598): Ensure
.fragmenton an image with caption applies to whole figure.(#12716): Correctly resolve
"brand"set inthemeconfiguration for document in subdirectory from project root.Use
cdn.jsdelivr.netfor mathjax dependencies to ensure consistent CDN usage across formats. Previously,cdnjs.cloudflare.comwas used forrevealjsmathjax dependencies, whilecdn.jsdelivr.netwas used for html format.#13316:
code-line-numbers: "1"correctly highlight the first line now.
docx
(#8392): Fix
docxgeneration issues in tables
typst
(#12180): Typst schema / autocomplete for
logooption haspathandalt.(#12554): CSS properties
font-weightandfont-styleare translated to Typsttextproperties.(#12695): Resolve Typst
font-pathsthat start with/relative to project root.(#12739): Remove unused variable
heading-background-colorandheading-decorationfrom Typst's templates. They are leftover from previous change, and not part of Brand.yml schema for typography of headings.(#12815): Do not crash when floats have no content.
(#13119): Expose
brand.logometadata as Typst dictionaries.(#13133): Allow customization of light and dark logos at document level, consistent with other formats.
(#13297): Ensure brand.yml logos are resolved correctly when Typst document is in a subdirectory.
beamer
(#12775): Convert Quarto-native layouts (divs with
layoutsyntax) to Beamer columns, equivalent to using the Pandoc-native syntax of div withcolumnsandcolumnclasses.
pdf
(#12732): Correctly detect missing definition files in multiline babel error for search package to auto-install.
hugo-md
(#12676): Add support for rendering layout panels that are not floats.
docusaurus-md
#13316:
code-line-numbers: "1"correctly highlight the first line now.
markdown formats
([#12630])(https://github.com/quarto-dev/quarto-cli/issues/12630)): emit image element for
videoshortcodes targeting local videos.
Projects
website
(#10284): a11y - Fix keyboard navigation for tabset panels when using an HTML theme. Tabs now properly receive keyboard focus.
(#12551): Improve warning issued when
aliaseswould overwrite an existing document.(#12616): find SVG images in image discovery for listings.
(#12693): Prevent resource exhaustion on large websites by serializing
NotebookContextinformation to file instead of the environment.(#12949): Ensure redirects preserve
hashandsearchwhen possible.
Crossrefs
(#12615): Adds
algorithmto theorem environments. (author: @jeremy9959)
Lua Filters and API
(#11750): Extend filter path resolution to support
at/pathfilters from extensions.(#12727): Do not crash in the presence of malformed tabset contents.
(#12806): Use pandoc APIs to handle codepage conversion on Windows.
(#12811): Add support for YouTube Shorts in
videoshortcode.(#13112): Add
quarto.format.format_identifier()API entry.(#13128): Avoid meta shortcode crash on bad input.
(#13246): Add
quarto.variables.get()andquarto.metadata.get()APIs.(#13334): Fix wrong function being called on
is_html_slide_outputandis_markdown_with_html_output.
Commands
inspect
(#12733): Add installed extensions to
quarto inspectproject report.
add
(#12627): Don't actually install extension when user responds
yesto first prompt butnoto second.
create
(#12965): Prevent automatic opening of new editor sessions when creating projects in Posit Workbench context. The
--openflag is now ignored in this environment to avoid issues with Workbench session management.
Extensions
(#12559): New extension type:
brandfor distributing brand.yml configurations with associated assets.
Engines
(#13171): Provide execution information to all engines uniformly via QUARTO_EXECUTE_INFO environment variable. It points to a file on disk containing a JSON object describing the execution environment for code cells to use.
jupyter
(#12753): Support change in IPython 9+ and import
set_matplotlib_formatsfrommatplotlib_inline.backend_inlinein the internalsetup.pyscript used to initialize rendering with Jupyter engine.(#12839): Support for
plotly.py6+ which now loads plotly.js using a cdn in script as a module.(#13026, #13151), #13184: Use
jsdelivrCDN for jupyter widgets dependencies.
knitr
Correctly detect R binary on Windows when
R_HOMEis set - this fixes issue withquarto::quarto_render()that will now correctly use the same R version as the R session it is called from.
julia
(#12870): Update
juliaengine from0.17.0to0.17.3to improvejuliaupdetection on Windows systems and correctly setBase.source_path()output to match REPL and script usage.
Languages
(#13098): Fox a minor inappropriate phrasing in the Chinese localization of
environment-proof-title(@sun123xyz).
Other fixes and improvements
(#11321): Follow recommendation from LaTeX project and use
lualatexinstead ofxelatexas the default PDF engine.(#12782): fix bug on
safeRemoveDirSync's detection of safe directory boundaries.(#12853): fix replaceAll() escaping issue with embedded notebooks containing
$in their Markdown.(#12939): Upgrade
mermaidjsto 11.6.0.(#13031): Add
.quarto_ipynbfiles to.gitignoreby default.(#13085): Avoid
kbdshortcode crashes on unknown OS keys.(#13164): add
juliato execute schema to allow autocomplete suggestions. (@mcanouil)(#13121): Allow
contentsshortcode to find inline elements.(#13216): Properly disable
downlit(code-link) and enablecode-annotationswhen non-R code blocks are present.