Skip to content

Sync with upstream/main (14 commits, incl. v1.10.0)#59

Merged
mmcky merged 15 commits into
mainfrom
chore/sync-upstream-2026-06-12
Jun 12, 2026
Merged

Sync with upstream/main (14 commits, incl. v1.10.0)#59
mmcky merged 15 commits into
mainfrom
chore/sync-upstream-2026-06-12

Conversation

@mmcky

@mmcky mmcky commented Jun 12, 2026

Copy link
Copy Markdown

Important

Merge with "Create a merge commit" — do NOT squash. A real merge commit preserves the ancestry so the next git merge upstream/main works cleanly (see quantecon/README.md).

Brings in 14 upstream commits, including the v1.10.0 release. Two upstream refactors intersected with fork features and were verified/integrated:

myst-spec-ext fused into myst-spec (jupyter-book#2908)

  • myst-spec-ext is now a deprecated compatibility shim re-exporting from myst-spec; the ext types live in packages/myst-spec/src/ext.ts.
  • Git auto-migrated the fork's List extension (style/delimiter from fancy-lists, Fancy ordered lists: alphabetic, roman, and parenthesized markers #50) into the new ext.ts. Two manual integration edits on top:
    • myst-spec's index now exports List from ext.ts instead of the generated schema (exactly the pattern upstream uses for ListItem), plus ListNumberingStyle/ListDelimiterStyle.
    • The shim re-exports all three so existing myst-spec-ext imports keep compiling.

markdown-it-myst-extras vendored into markdown-it-myst (jupyter-book#2953)

Other

  • bun.lock was the only textual conflict; regenerated with bun install after the merge.
  • Fork features verified post-merge: fancy-lists parser wiring, citation code-span guard, code-numbering, proof-unnumbered — all present.
  • Full monorepo build + test suite passes (73 turbo tasks).

🤖 Generated with Claude Code

choldgraf and others added 15 commits June 4, 2026 10:42
Co-authored-by: Rowan Cockett <rowanc1@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Chris Holdgraf <choldgraf@gmail.com>
…upyter-book#2948)

This allows them to coexist more easily with other python deps in a
single venv
* doc: rephrase how to refer to static files

* github copilot review

* Update docs/website-downloads.md

Co-authored-by: Chris Holdgraf <choldgraf@gmail.com>

---------

Co-authored-by: Chris Holdgraf <choldgraf@gmail.com>
* fix: remove old docs

* chore: add changeset
Notable upstream changes integrated with fork features:

- myst-spec-ext fused into myst-spec (jupyter-book#2908): the fork's List
  extension (style/delimiter from fancy-lists, PR #50) auto-migrated
  into packages/myst-spec/src/ext.ts; List now exports from ext.ts
  instead of the generated schema (mirroring upstream's ListItem
  pattern) and the myst-spec-ext shim re-exports List,
  ListNumberingStyle, and ListDelimiterStyle
- markdown-it-myst-extras vendored into markdown-it-myst (jupyter-book#2953):
  no overlap with the fork's citations.ts code-span guard (PR #53)
- bun.lock regenerated after the merge

Full monorepo build and test pass.
Copilot AI review requested due to automatic review settings June 12, 2026 03:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR syncs the fork with upstream/main (including the v1.10.0 release), bringing in upstream refactors while integrating/retaining fork-specific features. Notable upstream work included consolidating myst-spec-ext into myst-spec, and vendoring markdown-it-myst-extras functionality into markdown-it-myst, plus version bumps and documentation updates.

Changes:

  • Add grid as valid figure/container content in myst-transforms, with a corresponding regression test and a new manual test fixture project.
  • Refactor spec/type packaging: move search types to myst-spec/src/search.ts, rework myst-spec-ext into a deprecated compatibility shim, and add generated node/example docs under packages/myst-spec/docs/.
  • Update dependencies/versions across packages (1.10.x line) and refresh CI workflow action versions.

Reviewed changes

Copilot reviewed 184 out of 186 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
packages/mystmd/tests/grid-in-figure/myst.yml Adds a manual test project config for “grid inside figure”.
packages/mystmd/tests/grid-in-figure/index.md Adds manual test content covering figure+grid scenarios.
packages/mystmd/tests/grid-in-figure/.gitignore Ignores build output for the manual test fixture.
packages/mystmd/src/qe-version.ts Updates QuantEcon version marker to qe-v8.
packages/mystmd/package.json Bumps mystmd and myst-cli dependency to 1.10.1.
packages/mystmd/CHANGELOG.md Adds 1.10.0/1.10.1 entries.
packages/mystmd-py/pyproject.toml Relaxes platformdirs / nodeenv version constraints for PyPI variant.
packages/myst-transforms/src/containers.ts Allows grid as valid container/figure content.
packages/myst-transforms/src/containers.spec.ts Adds test ensuring figure+grid+caption is unchanged.
packages/myst-transforms/package.json Bumps version and updates dependency versions.
packages/myst-transforms/CHANGELOG.md Records dependency updates for 1.3.50.
packages/myst-to-typst/package.json Bumps version and updates dependency versions.
packages/myst-to-typst/CHANGELOG.md Records 0.0.38 changes and dependency updates.
packages/myst-to-html/package.json Bumps version and updates myst-common dependency.
packages/myst-to-html/CHANGELOG.md Records myst-common@1.10.0 bump.
packages/myst-spec/src/search.ts Introduces exported search index TypeScript types.
packages/myst-spec/src/index.ts Adds consolidated public type exports for myst-spec.
packages/myst-spec/src/ext.ts Adjusts ext type imports to avoid self-import; removes search types from ext.
packages/myst-spec/schema/unist.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/tables.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/styles.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/schema.spec.ts Removes legacy AJV-based JSON schema validation tests.
packages/myst-spec/schema/roles.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/references.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/myst.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/math.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/footnotes.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/directives.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/containers.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/commonmark.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/comments.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/blocks.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/admonitions.schema.json Removes legacy JSON schema file.
packages/myst-spec/schema/abbreviations.schema.json Removes legacy JSON schema file.
packages/myst-spec/README.md Removes outdated schema-structure docs.
packages/myst-spec/package.json Drops JSON-schema build/test deps; simplifies build to tsc + copy examples.
packages/myst-spec/index.ts Removes old JSON-schema generation pipeline script.
packages/myst-spec/docs/nodes/underlinestatic.md Adds generated node doc.
packages/myst-spec/docs/nodes/underline.md Adds generated node doc.
packages/myst-spec/docs/nodes/thematicbreak.md Adds generated node doc.
packages/myst-spec/docs/nodes/text.md Adds generated node doc.
packages/myst-spec/docs/nodes/target.md Adds generated node doc.
packages/myst-spec/docs/nodes/tablerow.md Adds generated node doc.
packages/myst-spec/docs/nodes/tablecell.md Adds generated node doc.
packages/myst-spec/docs/nodes/table.md Adds generated node doc.
packages/myst-spec/docs/nodes/superscriptstatic.md Adds generated node doc.
packages/myst-spec/docs/nodes/superscript.md Adds generated node doc.
packages/myst-spec/docs/nodes/subscriptstatic.md Adds generated node doc.
packages/myst-spec/docs/nodes/subscript.md Adds generated node doc.
packages/myst-spec/docs/nodes/strongstatic.md Adds generated node doc.
packages/myst-spec/docs/nodes/strong.md Adds generated node doc.
packages/myst-spec/docs/nodes/staticphrasingcontent.md Adds generated node doc.
packages/myst-spec/docs/nodes/root.md Adds generated node doc.
packages/myst-spec/docs/nodes/role.md Adds generated node doc.
packages/myst-spec/docs/nodes/resource.md Adds generated node doc.
packages/myst-spec/docs/nodes/reference.md Adds generated node doc.
packages/myst-spec/docs/nodes/position.md Adds generated node doc.
packages/myst-spec/docs/nodes/point.md Adds generated node doc.
packages/myst-spec/docs/nodes/phrasingcontent.md Adds generated node doc.
packages/myst-spec/docs/nodes/parent.md Adds generated node doc.
packages/myst-spec/docs/nodes/paragraph.md Adds generated node doc.
packages/myst-spec/docs/nodes/optionalassociation.md Adds generated node doc.
packages/myst-spec/docs/nodes/node.md Adds generated node doc.
packages/myst-spec/docs/nodes/math.md Adds generated node doc.
packages/myst-spec/docs/nodes/literal.md Adds generated node doc.
packages/myst-spec/docs/nodes/listitem.md Adds generated node doc.
packages/myst-spec/docs/nodes/listcontent.md Adds generated node doc.
packages/myst-spec/docs/nodes/list.md Adds generated node doc.
packages/myst-spec/docs/nodes/linkreference.md Adds generated node doc.
packages/myst-spec/docs/nodes/link.md Adds generated node doc.
packages/myst-spec/docs/nodes/legend.md Adds generated node doc.
packages/myst-spec/docs/nodes/inlinemath.md Adds generated node doc.
packages/myst-spec/docs/nodes/inlinecode.md Adds generated node doc.
packages/myst-spec/docs/nodes/imagereference.md Adds generated node doc.
packages/myst-spec/docs/nodes/image.md Adds generated node doc.
packages/myst-spec/docs/nodes/html.md Adds generated node doc.
packages/myst-spec/docs/nodes/heading.md Adds generated node doc.
packages/myst-spec/docs/nodes/footnotereference.md Adds generated node doc.
packages/myst-spec/docs/nodes/footnotedefinition.md Adds generated node doc.
packages/myst-spec/docs/nodes/flowcontent.md Adds generated node doc.
packages/myst-spec/docs/nodes/emphasisstatic.md Adds generated node doc.
packages/myst-spec/docs/nodes/emphasis.md Adds generated node doc.
packages/myst-spec/docs/nodes/directive.md Adds generated node doc.
packages/myst-spec/docs/nodes/definition.md Adds generated node doc.
packages/myst-spec/docs/nodes/crossreference.md Adds generated node doc.
packages/myst-spec/docs/nodes/container.md Adds generated node doc.
packages/myst-spec/docs/nodes/comment.md Adds generated node doc.
packages/myst-spec/docs/nodes/code.md Adds generated node doc.
packages/myst-spec/docs/nodes/caption.md Adds generated node doc.
packages/myst-spec/docs/nodes/break.md Adds generated node doc.
packages/myst-spec/docs/nodes/blockquote.md Adds generated node doc.
packages/myst-spec/docs/nodes/blockbreak.md Adds generated node doc.
packages/myst-spec/docs/nodes/block.md Adds generated node doc.
packages/myst-spec/docs/nodes/association.md Adds generated node doc.
packages/myst-spec/docs/nodes/alternative.md Adds generated node doc.
packages/myst-spec/docs/nodes/admonitiontitle.md Adds generated node doc.
packages/myst-spec/docs/nodes/admonition.md Adds generated node doc.
packages/myst-spec/docs/nodes/abbreviation.md Adds generated node doc.
packages/myst-spec/docs/myst.schema.md Adds generated schema markdown index.
packages/myst-spec/docs/examples/target.md Adds generated example doc.
packages/myst-spec/docs/examples/table.md Adds generated example doc.
packages/myst-spec/docs/examples/superscript.md Adds generated example doc.
packages/myst-spec/docs/examples/subscript.md Adds generated example doc.
packages/myst-spec/docs/examples/role.md Adds generated example doc.
packages/myst-spec/docs/examples/paragraph.md Adds generated example doc.
packages/myst-spec/docs/examples/math.md Adds generated example doc.
packages/myst-spec/docs/examples/list.md Adds generated example doc.
packages/myst-spec/docs/examples/link.md Adds generated example doc.
packages/myst-spec/docs/examples/inlinemath.md Adds generated example doc.
packages/myst-spec/docs/examples/image.md Adds generated example doc.
packages/myst-spec/docs/examples/html.md Adds generated example doc.
packages/myst-spec/docs/examples/heading.md Adds generated example doc.
packages/myst-spec/docs/examples/formatting.md Adds generated example doc.
packages/myst-spec/docs/examples/footnote.md Adds generated example doc.
packages/myst-spec/docs/examples/directive.md Adds generated example doc.
packages/myst-spec/docs/examples/crossreference.md Adds generated example doc.
packages/myst-spec/docs/examples/container.md Adds generated example doc.
packages/myst-spec/docs/examples/comment.md Adds generated example doc.
packages/myst-spec/docs/examples/code.md Adds generated example doc.
packages/myst-spec/docs/examples/break.md Adds generated example doc.
packages/myst-spec/docs/examples/blockquote.md Adds generated example doc.
packages/myst-spec/docs/examples/blockbreak.md Adds generated example doc.
packages/myst-spec/docs/examples/admonition.md Adds generated example doc.
packages/myst-spec/docs/examples/abbreviation.md Adds generated example doc.
packages/myst-spec/.gitignore Stops ignoring generated myst-spec docs content.
packages/myst-spec-ext/src/index.ts Turns myst-spec-ext into a deprecated re-export shim.
packages/myst-spec-ext/package.json Bumps version to 1.10.0.
packages/myst-spec-ext/CHANGELOG.md Adds 1.10.0 entry.
packages/myst-roles/package.json Bumps version and updates dependency versions.
packages/myst-roles/CHANGELOG.md Records dependency bumps for 1.7.3.
packages/myst-parser/src/types/markdown-it-plugins/index.d.ts Removes module decl for markdown-it-myst-extras.
packages/myst-parser/src/plugins.ts Switches exports to markdown-it-myst plugins.
packages/myst-parser/src/myst.ts Updates tokenizer wiring to new plugin split.
packages/myst-parser/package.json Bumps version; removes markdown-it-myst-extras dep; updates other deps.
packages/myst-parser/docs/index.md Updates parser docs for plugin set.
packages/myst-parser/CHANGELOG.md Records dependency updates for 1.7.3.
packages/myst-migrate/package.json Bumps version to 1.10.1.
packages/myst-migrate/CHANGELOG.md Adds 1.10.x entries.
packages/myst-frontmatter/package.json Bumps version to 1.10.0.
packages/myst-frontmatter/CHANGELOG.md Adds 1.10.0 entry.
packages/myst-execute/src/transform.ts Adjusts kernelspec error handling control flow.
packages/myst-execute/package.json Bumps version and updates myst-common dependency.
packages/myst-execute/CHANGELOG.md Adds 0.4.0 entry and dependency bump.
packages/myst-directives/package.json Bumps version and updates dependency versions.
packages/myst-directives/CHANGELOG.md Records dependency bumps for 1.7.3.
packages/myst-config/package.json Bumps version and updates dependency versions.
packages/myst-config/CHANGELOG.md Adds 1.10.0 entry.
packages/myst-common/package.json Bumps version and updates dependencies.
packages/myst-common/CHANGELOG.md Records dependency bump for 1.10.0.
packages/myst-cli/src/build/html/index.ts Always copies thebe assets from template public dir.
packages/myst-cli/package.json Bumps version and updates internal dependency versions.
packages/myst-cli/CHANGELOG.md Adds 1.10.0/1.10.1 entries.
packages/markdown-it-myst/tests/roles.spec.ts Updates tests to use role/directive plugins directly.
packages/markdown-it-myst/tests/footnotes.yml Updates test config to use role/directive plugins.
packages/markdown-it-myst/tests/directives.spec.ts Updates tests to use role/directive plugins directly.
packages/markdown-it-myst/tests/cases.spec.ts Updates plugin mapping to role/directive.
packages/markdown-it-myst/src/utils.ts Adds explicit return type for stateWarn and imports VFileMessage.
packages/markdown-it-myst/src/index.ts Exports new plugins; marks mystPlugin as deprecated wrapper.
packages/markdown-it-myst/src/colonFence.ts Adds colon-fence block rule implementation.
packages/markdown-it-myst/src/block.ts Adds block parsing (targets/comments/blockbreaks) and renderers.
packages/markdown-it-myst/package.json Bumps version; adds vfile-message dependency.
packages/markdown-it-myst/CHANGELOG.md Adds 1.0.17 entry.
docs/website-downloads.md Improves docs for project.static_files usage and linking guidance.
docs/figures.md Clarifies figure/subfigure docs and adds grid-wrapped figure example.
docs/accessibility-and-performance.md Adds documentation about a11y monitoring and how to audit sites.
.github/workflows/release.yml Updates GitHub Actions versions.
.github/workflows/python-ci.yml Updates GitHub Actions versions.
.github/workflows/publish-github-release.yml Updates GitHub Actions versions.
.github/workflows/enforce-label.yml Updates GitHub Actions versions.
.github/workflows/docs.yml Updates GitHub Actions versions.
.github/workflows/ci.yml Updates GitHub Actions versions.
.github/actions/install/action.yml Updates setup-node/setup-python action versions.
.changeset/tangy-mirrors-double.md Adds a changeset for dependency/type fixes.
.changeset/salty-oranges-teach.md Removes a changeset (superseded by upstream sync).
.changeset/public-worms-kiss.md Removes a changeset (superseded by upstream sync).
.changeset/proud-mangos-begin.md Adds changeset for allowing grid in figures.
.changeset/proud-items-smash.md Adds changeset for myst-spec doc removal.
.changeset/polite-eels-do.md Adds changeset for dropping JSON Schema pipeline.
.changeset/lemon-houses-retire.md Removes a changeset (superseded by upstream sync).
.changeset/legal-flowers-drum.md Removes a changeset (superseded by upstream sync).
.changeset/index-redirect-head-end.md Removes a changeset (superseded by upstream sync).
.changeset/fine-meals-fall.md Removes a changeset (superseded by upstream sync).
.changeset/citation-html-stop.md Removes a changeset (superseded by upstream sync).
.changeset/chubby-nails-look.md Removes a changeset (superseded by upstream sync).
Comments suppressed due to low confidence (1)

packages/myst-spec/src/ext.ts:23

  • ./schema.d.ts does not exist in src/ (the generated types are in schema.ts). This import will fail TypeScript compilation and breaks downstream consumers. Import the types from the emitted JS module path (./schema.js) instead, which TypeScript will resolve back to schema.ts under moduleResolution: node16.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -0,0 +1,95 @@
export type * from './search.ts';
Comment on lines +46 to +49
Text,
ThematicBreak,
UnderlineStatic,
} from './schema.d.ts';
Comment on lines +92 to +94
TabSet,
Underline,
} from './ext.ts';
Comment on lines +169 to +175
function render_myst_target(tokens: Token[], idx: number) {
const token = tokens[idx];
const className = 'myst-target';
const label = token.content;
const target = `<a href="#${label}">(${label})=</a>`;
return `<div class="${className}">${target}</div>`;
}

### Patch Changes

- 53efcc7: Fix \left| and \right| delimeters (rely on upstream fix in tex-to-typst)

### Patch Changes

- 53efcc7: Fix \left| and \right| delimeters (rely on upstream fix in tex-to-typst)

### Patch Changes

- 53efcc7: Fix \left| and \right| delimeters (rely on upstream fix in tex-to-typst)
Comment thread docs/figures.md
Each subfigure is given an implicit reference that matches the figure label with a suffix of their letter, for example, a figure with label `my-figure` the two subfigures can be referred to as `my-figure-a` and `my-figure-b`, respectively.
If you provide a [specific label for a subfigure](#label-anything), that label will be used instead of the implicit label.
You can cross-reference either the whole figure [@subFigure], or an individual subfigure [@subFigure-a] or [@subFigure-b].
Each subfigure is given an implicit reference that matches the figure label with a suffix of their letter. For example, let's say you have a parent figure and give it a label `my-figure`, and it has two sub-figures. Each subfigure can be referred to as `#my-figure-a` and `#my-figure-b`, respectively.
Comment thread docs/figures.md

For responsive layouts, wrap the content in a `{grid}` directive.
In this case, the figure has a _single entry_, representing the grid of images that you provide.
It will not create implicit references for sub-figures as desecribed above.
@mmcky mmcky merged commit a93cf1c into main Jun 12, 2026
13 of 16 checks passed
@mmcky mmcky deleted the chore/sync-upstream-2026-06-12 branch June 12, 2026 03:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants