1.4 Release Notes

Fixed in this release

  • Update Pandoc to 3.1.12.3 to remove exposure to polyfill.io in Pandoc’s built-in templates.

Fixed in previous releases

  • (#8969): Replace polyfill.io with cdnjs.cloudflare.com in MathJax usage in HTML formats.
  • (#9927): Fix a regression with explicitly sized images in layouts.
  • (#10091): Fix a regression with fig-align attributes in captionless images in PDF format.
  • (#8439): ensure that lack of subject line is handled
  • (#8417): Maintain a single AST element in the output cell when parsing HTML from RawBlock
  • (#8490): Properly embed qmd cells even when they include an explicit echo declaration.
  • (#8464): Fix a regression where shortcodes were not being expanded recursively.
  • (#8485): Fix a regression where shortcodes could not Unicode characters with code points above 127.
  • (#8507): Fix a regression with callout rendering in docx.
  • (#8510): Fix a regression on undocumented behavior with sidebar.align instead of sidebar.alignment in YAML configuration.
  • (#8514): Fix a regression where crossreferences in number-sections: false documents were being rendered incorrectly.
  • (#8536): Fix a regression with column specifiers in html.
  • (#8552): Fix incorrect behavior reading title from code cells in Dashboards.
  • (#8555): Fix malformed HTML when outputing page navigation (books and websites).
  • (#8566): Fix issues with usage of iTables in Quarto Dashboards. This includes layout issues for large or wide tables, appearance of sticky headers, as well as a hang that can occur when rendering a Dashboard using iTables 1.7.
  • (#8567): Improve website search performance for large sites with long search terms.
  • (#8586): Fix regression on rendering multiple embedded citations in LaTeX tables.
  • (#8603): Fix a regression with multiple-column layouts and code-folding.
  • (#8630): Fix a regression with latex crossref identifiers with underscores. Note that this syntax is not officially supported in Quarto, but this change reverts to the behavior in 1.3.
  • (#8652): Make code cell detection in IDE tooling consistent across editor modes.
  • (#8662): Do not incorrectly prevent previewing docusaurus websites without an index file.
  • (#8697): Ensure that lightboxed figures with margin captions properly position the caption.
  • (#8708): Resolve complex layouts in ipynbs embeds for manuscripts.
  • (#8728): Don’t crash with empty floats in LaTeX format.
  • (#8733): Fix regression with image-align=right in LaTeX format.
  • (#8741): Fix issue where the MacOS installer would incorrectly report that Rosetta is required (it is not).
  • (#8749): Fix bundle creation for publishing Quarto projects to Posit Connect using quarto publish connect.
  • (#8785): Fix issue with noncentered, non-referenceable subfigures in LaTeX format.
  • (#8795): Fix issue with select controls appearing in Dashboard toolbar.
  • (#8798): Fix issue with duplicate level 1 headings in rendered ipynb notebooks.
  • (#8818): Fix alignment of right items in Navbars.
  • (#8852): Do not strip index.html from external links.
  • (#8854): Don’t allow margin footnotes to break hover-citations
  • (#8858): Fix issue rendering markdown in bread-crumbs
  • (#8843): Fix issue in books when some R code cells emits LaTeX dependencies to be included in the LaTeX preamble.
  • (#8857): Fix issue with format: dashboard using Plotly in Jupyter on Windows.
  • (#8937): Fix unix quarto launcher in the case of paths with spaces.
  • (#9076): Fix rendering of code cells with layout-ncol and column settings in html format.
  • (#9200): Fix regression with tbl-colwidths outside of a cross-referenceable table element.
  • (#9335): Fix bad escaping of escaped inline code cells inside code blocks.
  • (#9356): Don’t process column classes for figures inside the About divs.
  • (#9535): Fix fig-alt regression from previous 1.4 patch release.
  • (#9550): Don’t crash when subcaptions are incorrectly specified with fig-subcap: true but no embedded subcaptions.
  • (#9593): Fix regression with column-margin when used in spans in a paragraph.
  • (#9602): Fix regression with parsed HTML tables not being correcty included in various format like pptx and typst.
  • (#8258): Quarto now works again with R 4.1.3 and previous versions.
  • (#9704): Fix regression with PDF export feature in Revealjs - it now works again like in 1.3.
  • (#9734): Fix issue with unlabeled tables and tbl-cap-location information.

Languages

  • Add Serbian-Latin translation (author: @n_grubor)
  • Add Slovak translation (author: @tom67)
  • Improve Italian translation of ‘proof’ (author: @espinielli)
  • Add Greek translation (author: @cultab)
  • Add Norwegian translation (author: @lektorodd)
  • Add Lithuanian translation (author: @GegznaV)
  • Add Traditional Chinese (Taiwan) translation (author: @bobby1030)
  • Update Catalan translation (author: @jmaspons)

Dependencies

  • Update to Pandoc 3.1.11
  • Update to Typst 0.10.0

Breaking Changes

  • In website projects, a single sidebar with a id property will no longer be used as a global sidebar. It will instead be used as a sidebar for only pages which specify that id or pages linked to from the sidebar.

HTML Format

  • Add support for showing cross reference contents on hover (use crossrefs-hover: false to disable).
  • Add support for displaying keywords in HTML page title block, when present.
  • (#3473): Add support for body-right and body-left layouts for Website Table of Contents.
  • (#3895): Other format links can appear on the left (ensure that they follow the toc-location whether or not a toc is visible).
  • (#4840): Add support for specifying a custom Hypothesis client url using client-url
  • (#4882): Add support for canonical-url, which when provided will include a link tag with rel=‘canonical’ which will use an explictly provided or automatically generated canonical url for the document.
  • (#5189): Ensure appendix shows even when page-layout is custom.
  • (#5196): Properly support title-prefix for HTML output
  • (#5210): Update to Bootstrap 5.2.2
  • (#5393): Properly set color of headings without using opacity.
  • (#5403): Fix accessibility issues with the kbd shortcode.
  • (#5431): Properly apply column positioning to title metadata.
  • (#5516): Ensure that images which appear in the margin are properly marked as fluid.
  • (#5663): Properly forward column grid position to sub grids with margin elements.
  • (#5700): Don’t show scrollbars on Windows when hovering over hover code annotations.
  • (#5708): Fix hang when viewing pages with specific query parameter
  • (#5789): Correct appearance of languageless code cells in some contexts
  • (#5794): Fix incorrect caching behavior when import is used in scss themes.
  • (#5798): Improve the layout consistency of HTML callouts.
  • (#5856): Always render the title block of HTML pages (previously would only render when title or subtitle was provided).
  • (#5929): Split border-bottom properties to avoid invalid inherit entry in resulting CSS.
  • (#5955): Correct HTML callout appearance when title isn’t present.
  • (#5957): Fix layout issues when margin footnotes are contained in headings or other formatted text.
  • (#6004): Improve appearance of Cross Talk controls in Quarto HTML documents
  • (#6163): Wrap svg output of dot cells in RawBlock html elements.
  • (#6430): Fix layout issue with banner style title block authors when page-layout: full
  • (#6627): Add a bit of margin-right to checkbox inputs.
  • (#6693): Fine tune table appearance to improve consistency
  • (#6714): Display title block for HTML when other (non-title/author/subtitle) metadata is present.
  • (#6833): Handle partially-specified aspect ratio, width, and height attributes in video shortcode.
  • (#6910): Properly forward code-summary as a global HTML option
  • (#7024): Ensure HTML documents can render properly even when installed Quarto files aren’t writable
  • (#7137): Automatically set rel="noopener" when setting a target on external links
  • (#7183): Mark asides that appear in the margin with a margin-aside class
  • (#7187): Add html-table-processing: none to document- and project-level metadata to disable HTML table processing. Add {html-table-processing="none"} to a fenced div to disable HTML table processing for the elements in that div. Add html-table-processing: none on knitr or jupyter cell to disable HTML table processing for the cell output content.
  • (#7441): Links in hover box (e.g. links to DOI when hover for citations is opt-in) are now correctly process for external and new window processing (when link-external-icon: true and link-external-newwindow: true).
  • (#7542): Title block will properly present author affiliations when there is a mix of authors with affiliations and authors without affiliations
  • Ensure that code annotation buttons are not selectable text.
  • (#7364): Restore support for layout-align attribute in panels
  • (#8032): Fix layout issue when margin footnotes are contained on a list item inside a callout.
  • (#7153): Fix layout issue when margin footnotes are contained in a blockquote.

Appendix

  • (#6783): Add additional CC licenses, improve link text
  • (#5685): Provide consistent ids for appendix sections

RevealJS Format

  • (#1943): Allow setting code-block-height in presentation front matter.
  • (#3671): Remove untitled slides from the table of contents.
  • (#5210): Update to Bootstrap 5.2.2
  • (#5546): Images inside links can’t be stretched, and so auto-stretch feature now ignores them.
  • (#5783): Ensure fenced code blocks work with line numbers.
  • (#6120): pdf-max-pages-per-slide is now correctly setting pdfMaxPagesPerSlide config for RevealJS.
  • (#6800): Move automatically-added content (slide footers, etc) to top-level of DOM when last slide is hidden, to avoid inadvertently removing it.
  • (#6827): Correctly layout callout in revealjs slides when changing appearance.
  • (#6853, #5208): Wrap callout in div when attr is non-empty.
  • (#7042): Line highligthting now works correctly with code annotation.
  • (#7104): Line highlighting progressive reveal now correctly has code annotation anchor on the right.
  • (#7366): smaller: true now applies correctly on nested slides.
  • (#7394): Fix issue with mermaid diagrams in revealjs slides when output-location: fragment.
  • (#4988): targets for links on numbered code lines are removed, as revealjs doesn’t support them because navigation is done by slide only.
  • (#4156): footer and slide number text on slide with dark background have now an adapted text muted color based on $dark-bg-text-color.
  • (#7134): .nostrech can now be applied on image directly to opt-out Revealjs’ image stretching when auto-stretch: true (the default).

PDF Format

  • (#4370): Hoist code cells deep in the AST out of layout cells to avoid \raisebox issues with the Shaded environment.
  • (#5078): Ensure format-resources are copied before PDF rendering when latex-auto-mk is false
  • (#5058): Add a before-title.tex partial to the PDF format. This partial will appear in the document premable just before the title block, allowing further customization of the document preamble. By default, this partial is empty.
  • (#5969): Correctly detect a required rerun for biblatex when using backref link options.
  • (#5690): Improve validation of pdf-engine
  • (#6077): Make sure proof environments are tight around contents.
  • (#6907): Fix issue with footnote mark line processor not triggering.
  • (#6990): Fix an issue where underscore in filename code cell attribute were not escaped.
  • (#7175): Fix an issue with code annotations when more than one digit is used for annotation number.
  • (#7267): Fix issue with longtable environments interfering with the table counter.
  • (#7434): Support resource-path when resolving images in PDF
  • (#7534): Fix issue with multiple paragraph footnotes when using reference-location: margin.
  • (#7568): Code annotation now works in LaTeX document when having other comments on same line.
  • (#6716): Fix marginpar error when placing citations in the margin

Docusaurus Format

  • (#5152): Support for code-line-numbers: true in Docusaurus output.
  • (#6046): Fix citation regression in Docusaurus output.
  • (#6310): Support Docusaurus 3.0 by rendering to .mdx by default.
  • (#7201): Support for line highlighting using code-line-numbers, as raw block attributes or code cell options.

Beamer Format

  • (#3650): Use classoption=notheorems to not conflict with Quarto’s own theorem environments.
  • (#5536): Correctly support Code Filename feature for Beamer output by fixing issue with float environment.
  • (#6041): Correctly support code block appearance options (code-block-bg and code-block-border-left).
  • (#6226): Correctly detect the need for an additional compilation for TOC layout when using lualatex
  • (#6956): Add support number-section to format: beamer to control whether sections are numbered.

Asciidoc Format

  • (#6589): Don’t crash when format: asciidoc with a missing title.
  • (#7632): Render citations properly inside callouts

Confluence Format

  • (#5151): Provide an informational message about attachment delays when publishing.
  • (#7256): No undesired newline are created anymore in Callouts.

Website Listings

  • (#3933): Don’t emit base Quarto CSS or theme highlighting CSS when minimal is selected.
  • (#4800): Add support for including an xml-stylesheet in listings. Use the xml-stylesheet: example.xsl under feed: to provide a path to an XSL style sheet to style your RSS feed.
  • (#5371): Properly compute the trimmed length of descriptions included in listings.
  • (#5463): Error if the contents of a listing match no items.
  • (#5742): Use any element to compute a description for the listing, even when there are no paragraphs.
  • (#5802): Don’t display the string undefined for date values if a listing table displays items without a date.
  • (#5805): Update the inherited word-break: break-word style (Bootstrap) to word-break: keep-all to prevent hyphenation of words in listings.
  • (#6029): Only use the image-placeholder for a listing if no other image is available.
  • (#6091): Don’t use remote / absolutes images when auto-discovering images.
  • (#6268): Enable listings even when theme: none
  • (#6407): Add supporting for the field word-count for listing items. It is not displayed by default.
  • (#6408): Fix error on Windows when using yaml to create a listing with an external (e.g. path: https://www.quarto.org)
  • (#6447): Fix image placholder for pages with more than one listing (or a single listing passed as an array item in yaml)
  • (#6777): Add support for complex fields like citation.container-title when includes custom fields in listings.
  • (#6903): Don’t display the path field for external paths provided in metadata files.
  • (#6904): Within feeds, remove index.html from urls which shouldn’t include it.
  • (#7088): Don’t emit extraneous link or whitespace in default listing template.
  • (#7184): Properly use the boostrap variable pagination-active-color for coloring pagination controls.
  • (#7634): Use an explicit width to ensure default listing layout doesn’t grow outside its desired boundss
  • (#7345): Improve display of categories in a table style listing
  • (#7699): Properly ignore non-HTML output for listings when project level renders render HTML and other formats (for example, a book of both HTML and PDF format)
  • (#7290): Add support for feed:type of metadata, which will use only explicitly provided description metadata when generating an RSS feed. Additionally, note that partial feed types will prefer to use an explicit description over the first paragraph, when a description is available.
  • Add support for programmatically filtering content from a listing using include or exclude with glob syntax to include or exclude specific items from the listing. See https://github.com/quarto-dev/quarto-cli/commit/d415d9ca5b7cb59a8a4750dd3eeb60116b931bd6s
  • (#8197): Custom field-types are now correctly merged with default values for website listings.

Websites

  • Add support for navbar > toggle-position to control whether the responsive navbar toggle appears on the right or the left.
  • Add support for setting page-navigation: true|false in either a page or in _metadata.yml. This allows individual pages or sections of a website to control whether page-navigaation appears.
  • Add support for bread-crumbs: true|false to control whether bread crumbs are displayed. Add support for display of breadcrumbs on full width (non-mobile) pages when bread-crumbs is true. Default value is true.
  • Add support for show-item-context key within the search key to control whether page parents are display next to items in search results. Pass tree, parent, root, or boolean (if you pass true, tree is the default).
  • (#3493): Fix issue with website about pages complaining about missing citation when using an @ in hrefs.
  • (#4668): Allow per page metadata (front matter or a _metadata.yml file) to overide the repo-url for a page by providing a repo-url
  • (#4739): Improve handling of reader mode at mobile responsive sizes
  • (#5204): About pages rely upon TOC being positioned right, so force that to be true
  • (#5212): Ensure navbar search button respects collapse-below and remains aligned properly
  • (#5251): Allow individual pages to specify image: false to prevent image discover for Twitter and Open Graph metadata.
  • (#5283): Add support for setting repo-actions: false in a document to prevent the display of repository actions on a specific page.
  • (#5389): Allow a website project to provide a default image used in social metadata tags.
  • (#5503): Fix issue with markdown rendering of href text converting dashes to en/em dashes.
  • (#5604): Process footer content as blocks.
  • (#5624): Add support for localized Cookie Consent (using either the document’s language or by specifying the language explicitly under the cookie consent key).
  • (#5625): Prefer the website image (if specified) over undecorated images that appear in the page.
  • (#5689): Don’t use a single sidebar with an id as a global sidebar (the id explicitly means that the sidbar will match pages specifying that id or pages which the sidebar contains).
  • (#5756): Add rel="..." resolution to navbar tools.
  • (#5763): Add support for a keyboard shortcut to launch search (defaults to f or /). Use search > keyboard-shortcut to override with your own key(s).
  • (#5818): Ensure that repo-actions for websites (and books) appear responsively in the footer if the TOC isn’t visible.
  • (#5932): Correct Open Graph metadata key name for og:site_name
  • (#5964): Add support for repo-link-target and repo-link-rel to control the corresponding attributes of repo-action links.
  • (#6432): Don’t decorate navigation tools with external link icon (we generally don’t decorate navigation chrome in this way)
  • (#6703): Warn users when a theme key in a document is being ignored.
  • (#6704): Use the correct title when there are duplicate sidebar href targets
  • (#6708): Prevent duplication of footnotes within the abstract or description within websites and books.
  • (#6732): Allow specifying global alt text for social metadata
  • (#7447): Changing the $primary color in a SCSS theme will now properly change the navigation bar background color.
  • (#7754): Use the site title as the html title for a page if no other title is available.
  • (#8083): Improve About Page layouts when a sidebar is present
  • (#8150): Correctly support sidebar alignment. Default sidebar text alignment to left.
  • (#8166): Properly discover ‘image’ property as a resource when using a project path.

Books

  • (#5454): Fix errors previewing with formats such as asciidoc are added to book projects.
  • (#5630): Properly form sharing URL for books
  • (#6708): Prevent duplication of footnotes within the abstract or description within websites and books.
  • (#7206): Properly enabled issue-url for books
  • (#8011): Improve support for unsectioned chapters in search.
  • (#8145): Support localization of book tools (Download, Share, Source Code)

Publishing

  • (#5436): Add support for publishing to Posit Cloud.
  • (#5220): Properly respect output-dir when publishin individual files in a default Quarto project
  • (#4498): Better error when quarto publish gh-pages fails because gh-pages branch does not exist on origin remote.

Video (and Audio)

  • (#5496, #5847, #5268): Properly display local audio and video files with website projects (properly discover the src as a resource)

Preview

  • Display render output/progress for previews that take longer than 2 seconds
  • Ability to cancel an executing preview from within the progress UI
  • Automatically render missing formats (e.g. PDF, MS Word) on the fly
  • Correct detection of Hugo project type from hugo.toml (in addition to already supported config.toml)
  • Only re-use Jupyter kernels for languages that explicitly opt into it
  • (#4801): Provide a more specific error upon a directory preview of a default project type without a root index file
  • (#5882): Disable browser cache using Cache-Control header config in the viewer redirect for PDF preview, correctly allowing a HTML preview later on same port.

Jupyter

  • Support for executing inline expressions (e.g. `{python} x`)
  • Improved detection/exclusion of spurious matplotlib plain text output
  • Correctly exclude id fields when converting Colab notebooks to qmd.
  • More thorough cleaning out of text artifacts created by matplotlib intermediate statements.
  • Added ipynb-shell-interactivity option (enables specification of IPython InteractiveShell.ast_node_interactivity option)
  • Only search for Julia conda installation when the engine language is Julia
  • Support for plotly-connected option to determine where Plotly is embedded or loaded from CDN
  • Reduce default margins for Plotly figures (t=30,r=0,b=0,l=0)
  • Restart kernel daemon when non-package Python modules change
  • (#5051): Don’t emit strong tag with trailing spaces to not confuse Jupyter MD reader.
  • (#6344): Somewhat improve the error message in case of YAML parsing errors in metadata of Python code cells.
  • (#6367): Fix bug with nested code cells in the generation of Jupyter notebook from .qmd files.
  • (#6393): Search JULIA_HOME for Julia-specific Python installations.
  • (#7016): Ignore directories for which we don’t have permissions when searching for unactivated environments.
  • (#7302): Avoid name collisions when embedding output from multiple notebooks in a Quarto document
  • (#7512): Improved error message listing known kernels, when a kernel set with jupyter key in YAML is not found.
  • (#7548): Don’t use fig_format="png" in Julia’s CairoMakie because of interaction with display()
  • (#7607): Make output: asis behave the same way as the knitr engine, emitting div enclosures when necessary.
  • (#5363): Fix issue caused by Quarto incorrectly using some headings as a title when reading notebooks.
  • (#6411): Don’t perform notebook title fixup if the project is providing a title.

Knitr

  • (#4735): Special verbatim and embed language engine for knitr’s chunk are now better supported, including with special quarto cell option like echo: fenced.
  • (#5506): Fix error in if-statement when knitr::asis_output(x) is used with length(x) != 1 (author: @rcannood).
  • (#6775): Avoid duplicating special internal tools:quarto R environment used for making ojs_define() accessible during knitting.
  • (#6792): fig-asp provided at YAML config level now correctly work to set fig.asp chunk option in knitr.
  • (#7002): layout-valign is correctly forwarded to HTML to tweak vertical figure layout alignment for computational figures.
  • (#5994): Options like include or echo for ojs or mermaid cells are now correctly handled with knitr engine.
  • (#4869): sql cell output has now correct Quarto treatment so that specific features like column: margin works.
  • (#7600): output: asis now correctly don’t emit .cell-output-display div around cell outputs of class knit_asis.
  • (#7877): crop: false chunk options allows to opt out (per chunk or globally) automatic cropping in PDF when pdfcrop and ghostscript are detected. This complements knitr’s way crop: null.
  • (#7943): Internal Quarto R function should not leak to user’s global environment.
  • (#7029): Fix issue with some encoding while reading configuration in R.

OJS engine

  • Update observablehq’s runtime to version 5.6.0.
  • (#4927): Add support for code-summary option in OJS code cells.
  • (#5215): Report CORS requests as plain text when serving single-file previews.
  • (#6267): Fix error message when running in file://.
  • (#7537): Code annotations works better with OJS cells.
  • (#7747): Fix FileAttachment path resolution to work with revealjs format (and more generally, URLs that have a non-empty hash).
  • (#8071): Add support to hugo-md as an output format.

Mermaid diagrams

  • Upgrade to 10.2.0-rc.2
  • (#5426): Don’t escape mermaid output in markdown formats (author: @rcannood).

Code Annotations

  • (#5339): Improve behavior of code annotations when present on scrollable slides
  • (#6016): Ensure that annotations are on the correct line in Safari
  • (#6385): Add support for code annotation in fenced code cells
  • (#7056): Only make content of the hover annotation scrollable if it necessary
  • (#7435): Use # as a fallback comment character for unknown languages
  • Add support for OCaml code annotations

Author and Affiliations

  • Add support for specifying author roles, with optional support for degree of contribution and automatic normalization of CreDiT roles, when applicable.
  • Improved support for affiliation metadata, including ringgold, isni, ror
  • Add support for funding, including support for simple strings or funding including source, recipient, and investigator. source and recipient may -be one or more simple strings, refs to an author or affiliation id, or an object following the institution schema.
  • (#5764): Add support for affiliations to include a group property to represent the team or research group within the affiliation
  • (#6068): Properly display author names in default commonmark and gfm output
  • (#6138): Add support for degrees to specify academic titles or professional certifications displayed following a personal name (for example, “MD”, “PhD”).
  • (#6139): For markdown output that will not include yaml front matter, still perform author normalization. When yaml_metadata_block is enabled (or for pandoc markdown) do not normalize author front matter since that will result in extraneous author keys.

Lua filters

  • Add support for relative paths in require() calls.
  • Add support quarto.doc.add_resource and quarto.doc.add_supporting. add_resource will add a resource file to the current render, copying that file to the same relative location in the output directory. add_supporting will add a supporting file to the current render, moving that file file to the same relative location in the output directory.
  • (#5242): Add line numbers to error messages.
  • (#5461): ensure return type of stripTrailingSpace is always pandoc.List.
  • (#5466): Provide global environment _G to user filters.
  • (#6211): Improve error message when a JSON filter (or a potentially misspelled Lua filter from an extension) is not found.
  • (#6215): Add quarto.utils.string_to_inlines and quarto.utils.string_to_blocks to Lua API to convert a string to a list of inlines or blocks taking into account quarto’s AST structure.
  • (#6289): allow markdownToInlines to take empty string.
  • (#6935): Add isGithubMarkdownOutput() to quarto.format API.
  • (#6935): render callouts to gfm using GitHub’s syntax.
  • (#7067): Add new entry points to user Lua filters. See https://quarto.org/docs/prerelease/1.4/lua_changes.html.
  • (#7083): Separate custom node handlers for Span and Div nodes, enabling conditional content spans (author: @knuesel)

Debian Installer

  • (#3785): Recommend installation of unzip, which is used when installed extensions.
  • (#5167): Don’t fail installation if symlink cannot be created in path.

Citable Articles

  • (#6766): Add id as valid CSL property when specifying a documents citation metadata.

Crossrefs

  • (#2551): Support crossreferenceable figures without captions.
  • (#6620): Introduce FloatRefTarget AST nodes that generalize crossref targets to include figures, tables, and custom floating elements.
  • (#7200): Support Unicode in subref labels.

Input format

  • (#7905): Use html+raw_html as input format when processing HTML rawblocks for tables to avoid Pandoc converting SVG elements to images.

Extensions

  • When installing an extension, offer to open documentation explaining usage.
  • (#4889): Improve error message when attempting to create a duplicate extension
  • (#6759): Properly support format extensions controlling the order of filters that they use
  • (#7375): Updating extensions will now remove files that are not present in newer versions of an extension.
  • (#7886): Better support installation of extensions and usage of templates from repos which have been renamed.
  • (#7909): Properly resolve filter extensions even when a directory of the same name exists.

Other Fixes and Improvements

  • Exit if project pre or post render script fails
  • Support --output-dir for rendering individual files.
  • Use InternalError in typescript code, and offer a more helpful error message when an internal error happens.
  • (#1173): Allow specifying margin caption location on a per cell basis
  • (#1237): Allow include shortcodes to be resolved from inside non-executable code cells and metadata blocks.
  • (#1392): Add tools and LaTeX information to quarto check output.
  • (#2214, reopened): don’t report a non-existing version of Google Chrome in macOS.
  • (#3599, #5870): Fix hash issue causing unexpected render when freeze is activated on Windows but re-rendered on Linux (e.g. in Github Action).
  • (#4614): Correctly remove empty mediabag directory in remote drives.
  • (#4673): Quarto now report in check and error message if rmarkdown R package minimal requirement (>= 2.3) is not fullfilled, and it will ask to update the package.
  • (#4820): Add support for setting the Giscus light/dark themes.
  • (#5377): support from: formats correctly.
  • (#5421): Correct quarto --help command to provide correct commands and descriptions
  • (#5444): Introduce a build command make-installer-dir to better support third party packaging without dependencies. Fine tuning of code/patch provided in https://github.com/conda-forge/quarto-feedstock/pull/7.
  • (#5748): Don’t cleanup shared lib_dir files when using embed-resources within a project
  • (#5755): Allow document metadata to control conditional content.
  • (#5785): Don’t process juptyer notebook markdown into metadata when embedding notebooks into documents.
  • (#5902): Support paired shortcode syntax.
  • (#6013): Don’t error if citation is passed as a boolean value in metadata via flags
  • (#6042): Correctly support empty lines in YAML blocks.
  • (#6142): Properly respect DENO_DIR when set
  • (#6154): quarto check knitr does not fail anymore when user’s .Rprofile contains cat() calls.
  • (#6178): When QUARTO_LOG_LEVEL=DEBUG, information about search for a R binary will be shown.
  • (#6207): When QUARTO_R is set to a non-existing path, a warning is now thrown like with QUARTO_PYTHON. Quarto still fallback to search a working R version.
  • (#6244): Code annotation now works for executable code cells using echo: fenced. Also it now supports HTML and Markdown code cells.
  • (#6269): Fix issue with YAML validation where the annotated value was incorrectly built.
  • (#6487): Fix serviceworkers check in htmlDependency to look at the correct key.
  • (#6568): Trim file extension in data URI that might have been inadvertently added by Pandoc.
  • (#6620): Rewrite Crossreferenceable figure support. See the prerelease documentation for more information.
  • (#6697): Fix issue with outputing to stdout (quarto render <file> -o -) on Windows.
  • (#6705): Fix issue with gfm output being removed when rendered with other formats.
  • (#6746): Let stdout and stderr finish independently to avoid deadlock.
  • (#6807): Improve sourcemapping reference cleanup in generated CSS files.
  • (#6825): Show filename when YAML parsing error occurs.
  • (#6836): Fix missing docx format for abstract key in reference schema.
  • (#7013): Improve error message when there is an issue finding or running R and add more verbosity in verbose mode.
  • (#7032): quarto is now correctly working when installed in a folder with spaces in path.
  • (#7131): Fix typo in ISBN entry for JATS subarticle template (author: @jasonaris).
  • (#7252): Improve handling with tlmgr of some mismatched LaTeX support files, associated with expl3.sty loading.
  • (#7502): Correct execute-debug help text
  • (#7674): Configure font paths for TinyTeX after installation so that xetex can find custom fonts correctly.
  • (#7675): On Windows, quarto install tinytex will install TinyTeX to the directory defined by the environment variable ProgramData when APPDATA is not a suitable location for TeX Live.
  • (#8086): Add support for indexing array metadata in meta shortcode.
  • (#8245): On Windows, prevent Quarto error due to access issue when trying to read codepage from registry.