Skip to content

Commit 30be04f

Browse files
authored
Merge branch 'main' into jk/engine-commands
2 parents ed9068f + a5b92f9 commit 30be04f

File tree

143 files changed

+5184
-2801
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+5184
-2801
lines changed

.github/workflows/test-smokes.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ jobs:
170170
- name: Setup Julia
171171
uses: julia-actions/setup-julia@v2
172172
with:
173-
version: "1.11"
173+
version: "1.11.3"
174174

175175
- name: Cache Julia Packages
176176
uses: julia-actions/cache@v2

.gitignore

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,22 @@ _manuscript
3333
tests/docs/luacov/luacov.report.html
3434
tests/docs/luacov/report.html
3535

36+
# generated by test configuration, changes from machine to machine
37+
# so we don't want to track them
38+
tests/integration/playwright/package-lock.json
39+
3640
# tools build files
3741
tools/trace-viewer/edit-distance.js
3842
tools/trace-viewer/trace-viewer.html
3943
tools/trace-viewer/trace-viewer_files
4044
tools/bundle-bug-finder/node_modules
41-
tools/bundle-bug-finder/package-lock.json
45+
tools/bundle-bug-finder/package-lock.json
46+
tools/*/*_files
47+
tools/*/*.html
48+
package/src/common/import-report/*.html
49+
50+
# Files that are unique to specific committers of this repo
51+
tools/sass-variable-explainer/_publish.yml
52+
53+
# generated by tests
54+
tests/docs/callouts.pdf

CITATION.cff

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ authors:
1616
- family-names: "Dervieux"
1717
given-names: "Christophe"
1818
orcid: "https://orcid.org/0000-0003-4474-2498"
19+
- family-names: "Woodhull"
20+
given-names: "Gordon"
21+
orcid: "https://orcid.org/0009-0005-1809-8936"
1922
title: "Quarto"
20-
version: 1.4
23+
version: 1.6
2124
doi: 10.5281/zenodo.5960048
22-
date-released: 2024-02-15
25+
date-released: 2024-11-27
2326
url: "https://github.com/quarto-dev/quarto-cli"

configuration

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ export TIPPY_JS=6.3.7
3737
export PDF_JS=2.8.335
3838
export REVEAL_JS=5.1.0
3939
export REVEAL_JS_MENU=2.1.0
40-
# unrelease version needed for a fix with Reveal.js 5
40+
# unrelease version needed for fixes with Reveal.js 5
4141
# https://github.com/rajgoel/reveal.js-plugins/pull/180
42-
export REVEAL_JS_CHALKBOARD=8408d5a265abf74a042122520bbb4fd0d31feaed
42+
# https://github.com/rajgoel/reveal.js-plugins/pull/184
43+
export REVEAL_JS_CHALKBOARD=217142176341e24628db2908cae38221ef13d639
4344
export REVEAL_JS_PDFEXPORT=2.0.1
4445
export LIST_JS=2.3.1
4546
export DAY_JS=1.11.7

dev-docs/checklist-make-a-new-quarto-release.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
- [ ] publish the release blog post that should exist in https://github.com/quarto-dev/quarto-web/tree/main/docs/blog/posts
4646
by removing the `draft: true` line in the metadata and changing the date to match the release date. Do this on a branch off of `main` to trigger our PR automation to make the corresponding change to `prerelease`.
4747

48+
- [ ] Update https://github.com/quarto-dev/quarto-cli/blob/main/CITATION.cff
4849
- [ ] Packaging and package managers, etc
4950
- TBD winget, etc?
5051
- [ ] chocolatey

dev-docs/checklist-make-a-new-stable-quarto-release copy.md

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Notes for monitoring performance on Linux
2+
3+
Context: I've been having trouble getting consistent performance measurements on my MacBook Pro, so I decided to try my luck on an Intel Linux desktop running Ubuntu 24.
4+
5+
## `perf` settings
6+
7+
We'll want to monitor some performance counters that have potential security implications, so we need to disable some settings. ONLY DO THIS ON A MACHINE YOU TRUST AND THAT WILL NOT RUN POTENTIALLY-MALICIOUS THIRD-PARTY CODE!
8+
9+
### Source `scripts/linux-perf-settings.sh`
10+
11+
(These come from <https://easyperf.net/blog/2019/08/02/Perf-measurement-environment-on-Linux>)
12+
13+
### `sysctl.conf` settings
14+
15+
```
16+
$ cat /proc/sys/kernel/perf_event_paranoid
17+
```
18+
19+
If the result isn't `-1`, then add this to `/etc/sysctl.conf`:
20+
21+
```
22+
kernel.perf_event_paranoid = -1
23+
```
24+
25+
```
26+
$ cat /proc/sys/kernel/kptr_restrict
27+
```
28+
29+
If the result isn't `0`, then add this to `/etc/sysctl.conf`:
30+
31+
```
32+
kernel.kptr_restrict = 0
33+
```
34+
35+
After these changes, you'll need to reboot.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
To perform fine-grained profiling of Pandoc Lua filters, we use custom binaries:
2+
3+
- a patch of Lua that supports sample-based profiling
4+
- a custom binary of Pandoc linked against that version of Lua
5+
6+
## Compile the custom Lua version
7+
8+
This has currently only been tested on Macos and Linux.
9+
10+
```
11+
$ git clone [email protected]:cscheid/lua-fast-profiler.git
12+
$ cd lua-fast-profiler
13+
$ git checkout feature/fast-profiler-5.4
14+
$ make
15+
```
16+
17+
You should have `lua` and `liblua.a` in the `lua-fast-profiler` directory.
18+
19+
This version of Lua adds a new debugging hook, "time".
20+
This hook triggers at specified intervals, and is enabled using the letter `t` in the `debug.sethook` call.
21+
The debug hook callback also supports the "alarm" hook, used when calling the `sethook` callback.
22+
23+
Quarto ships with a custom Lua profiler that supports these hooks and performs low-overhead stack profiling.
24+
25+
## Compile the custom Pandoc binary
26+
27+
Clone the Pandoc repository, and then
28+
29+
```
30+
$ C_INCLUDE_PATH=<path-lua-fast-profiler> LIBRARY_PATH=<path-lua-fast-profiler> cabal build pandoc-cli --constraint 'lua +system-lua'
31+
```
32+
33+
## Run Quarto with profiling
34+
35+
To get Lua profiling output from Quarto, use the `lua-profiler-output` metadata option to provide an output file name, and ensure that Quarto uses the
36+
`pandoc` binary you just compiled.
37+
38+
```
39+
$ QUARTO_PANDOC=<path-to-built-pandoc> quarto render ...
40+
```
41+
42+
The output will be written as JSON, in a format compatible with [Perfetto](https://ui.perfetto.dev).
43+
The default sampling interval is 5ms, but you can customize that by setting the `lua-profiler-interval-ms` metadata option.
44+
45+
### Analyze profile
46+
47+
The resulting profile can be visualized and analyzed as a trace file at <https://ui.perfetto.dev>.
48+
49+
### Profiling multiple-file projects
50+
51+
In multiple-file projects, you can get a summary of the runtime of individual filter steps by providing the `QUARTO_COMBINED_LUA_PROFILE` environment variable.
52+
At the end of rendering a project, the name of the file pointed to `QUARTO_COMBINED_LUA_PROFILE` will contain a CSV file with the columns `filter`, `filename`, and `time`, corresponding to an estimate of time (in microseconds) taken by each stage of Quarto's filtering pipeline.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
3+
# This assumes intel processors!!
4+
5+
# Intel
6+
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
7+
# AMD
8+
# echo 0 > /sys/devices/system/cpu/cpufreq/boost
9+
10+
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
11+
do
12+
echo performance > $i
13+
done
14+
15+
echo 0 > /proc/sys/kernel/randomize_va_space
16+

news/changelog-1.7.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ All changes included in 1.7:
77
- ([#11549](https://github.com/quarto-dev/quarto-cli/issues/11549)): Fix regression in rendering `dashboard` tabsets into cards without titles.
88
- ([#11580](https://github.com/quarto-dev/quarto-cli/issues/11580)): Fix regression with documents containing `categories` fields that are not strings.
99
- ([#11752](https://github.com/quarto-dev/quarto-cli/issues/11752)): Fix regression with non-alphanumeric characters in `categories` preventing correct filtering of listing.
10+
- ([#11561](https://github.com/quarto-dev/quarto-cli/issues/11561)): Fix a regression with `$border-color` that impacted, callouts borders, tabset borders, and table borders of the defaults themes. `$border-color` is now correctly a mixed of `$body-color` and `$body-bg` even for the default theme.
1011

1112
## YAML validation
1213

@@ -16,6 +17,10 @@ All changes included in 1.7:
1617

1718
- ([#11701](https://github.com/quarto-dev/quarto-cli/issues/11701)): Wrap HTML emitted by EJS templates in `{=html}` blocks to avoid memory blowup issues with Pandoc's parser.
1819

20+
## Blog projects
21+
22+
- ([#11745](https://github.com/quarto-dev/quarto-cli/issues/11745)): Fix categories links under post title in post with url encoded path (e.g. with space or other special characters).
23+
1924
## Book projects
2025

2126
- ([#11520](https://github.com/quarto-dev/quarto-cli/issues/11520)): Book's cover image now escapes lightbox treatment, which was incorrectly applied to it when `lightbox: true` was set in the book's configuration.
@@ -24,9 +29,21 @@ All changes included in 1.7:
2429

2530
- ([#11608](https://github.com/quarto-dev/quarto-cli/pull/11608)): Do not issue error message when calling `quarto check info`.
2631

27-
## `typst` Format
32+
## `html` format
33+
34+
- ([#11860])(https://github.com/quarto-dev/quarto-cli/issues/11860)): ES6 modules that import other local JS modules in documents with `embed-resources: true` are now correctly embedded.
35+
36+
## `pdf` format
37+
38+
- ([#11835](https://github.com/quarto-dev/quarto-cli/issues/11835)): Take markdown structure into account when detecting minimum heading level.
39+
- ([#11903](https://github.com/quarto-dev/quarto-cli/issues/11903)): `crossref` configuration like `fig-title` or `tbl-title` now correctly supports multi word values, e.g. `fig-title: 'Supplementary Figure'`.
40+
- ([#11878](https://github.com/quarto-dev/quarto-cli/issues/11878)): Correctly fixup raw LaTeX table having an unexpected table env with options (e.g `\begin{table}[c]`) to be handled as crossref table.
41+
42+
## `typst` format
2843

2944
- ([#11578](https://github.com/quarto-dev/quarto-cli/issues/11578)): Typst column layout widths use fractional `fr` units instead of percent `%` units for unitless and default widths in order to fill the enclosing block and not spill outside it.
45+
- ([#11676](https://github.com/quarto-dev/quarto-cli/pull/11676)): Convert unitless image widths from pixels to inches for column layouts.
46+
- ([#11835](https://github.com/quarto-dev/quarto-cli/issues/11835)): Take markdown structure into account when detecting minimum heading level.
3047

3148
## Lua Filters and extensions
3249

@@ -39,8 +56,19 @@ All changes included in 1.7:
3956
- Expose new `quarto.paths.tinytex_bin_dir` in Quarto's Lua API. If TinyTeX is found by Quarto, this will be set to the path to the `bin` directory of the TinyTeX installation where command line tool are located (e.g., `pdflatex`, `tlmgr`, etc.). If TinyTeX is not found, this will be `nil`, meaning Quarto will use the system PATH to find the command line tools.
4057
- Fix `pandoc.mediabag` Lua typings so autocompletions work with the Lua LSP integration.
4158

59+
## Engines
60+
61+
### `julia`
62+
63+
- ([#11659](https://github.com/quarto-dev/quarto-cli/pull/11659)): Fix escaping bug where paths containing spaces or backslashes break server startup on Windows.
64+
- ([#11928](https://github.com/quarto-dev/quarto-cli/pull/11928)): Update QuartoNotebookRunner to 0.12.0.
65+
4266
## Other Fixes and Improvements
4367

68+
- ([#7260](https://github.com/quarto-dev/quarto-cli/issues/7260)): Add support for `active` class in tabsets so the `.active` tab shows up by default.
4469
- ([#8613](https://github.com/quarto-dev/quarto-cli/issues/8613)): Fix `giscus` color on load to support dark mode (by @kv9898).
4570
- ([#11441](https://github.com/quarto-dev/quarto-cli/issues/11441)): Don't add newlines around shortcodes during processing.
4671
- ([#11643](https://github.com/quarto-dev/quarto-cli/issues/11643)): Improve highlighting of nested code block inside markdown code block, i.e. using ` ```{{python}} ` or ` ```python ` inside ` ````markdown` fenced code block.
72+
- ([fb38eb5](https://github.com/quarto-dev/quarto-cli/commit/fb38eb56c11e09f44cef58fd3b697ff24bb5a3f3)) Use the `latest` parser for Acorn when analyzing JS code imported from OJS blocks.
73+
- ([#10532](https://github.com/quarto-dev/quarto-cli/issues/10532)): Quarto changed default of `--headless=old` to `--headless` as [Chrome 132 has removed old headless mode](https://developer.chrome.com/blog/removing-headless-old-from-chrome) and only support new mode. For using old mode, `QUARTO_CHROMIUM` could be set to a [new `chrome-headless-shell` binary](https://developer.chrome.com/blog/chrome-headless-shell) or too an older chrome version (between 128 and 132) and `QUARTO_CHROMIUM_HEADLESS_MODE` set to `old` for using old headless mode with that compatabitle version.
74+
- ([#10961](https://github.com/quarto-dev/quarto-cli/issues/10961)): Add more information on which Chrome Headless will be used in `quarto check install`. This is helpful to help debug mermaid issues.

0 commit comments

Comments
 (0)