Skip to content

Version Packages - #1240

Merged
mikebarkmin merged 1 commit into
mainfrom
changeset-release/main
Nov 10, 2026
Merged

mikebarkmin merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@hyperbook/fs@0.31.0

Minor Changes

  • f7957e5 Thanks @mikebarkmin! - hyperbook.json has a new exclude setting: globs for files that must not be part of the built site, for example ["intern/**", "**/*.draft.*"]. They are matched against the address a file would have in the site and apply to the files in public/ and to everything in book/ and glossary/ that is not a page. The dev server does not serve such files either, and hyperbook check reports links that point at them.

hyperbook@0.123.0

Minor Changes

  • f7957e5 Thanks @mikebarkmin! - hyperbook.json has a new exclude setting: globs for files that must not be part of the built site, for example ["intern/**", "**/*.draft.*"]. They are matched against the address a file would have in the site and apply to the files in public/ and to everything in book/ and glossary/ that is not a page. The dev server does not serve such files either, and hyperbook check reports links that point at them.

  • f7957e5 Thanks @mikebarkmin! - New ::pdf[Title]{src="file.pdf"} element: shows a PDF document on a page. pdf.js draws the pages in the browser, so documents also work on tablets and phones, and their text can be selected, searched and read aloud. view chooses between pages (all pages below each other, the default), slides (one page with previous/next, arrow keys, swipe and fullscreen), thumb (the first page beside title and download button), embed (the browser's own viewer) and button (only a download button). pages="1-2" limits the pages shown, download="false" hides the download button, height sets the height of slides and embed. The viewer is a downloadable element runtime like Typst or GeoGebra (elements.pdf.cdn), and Hyperbook Cloud can serve it for all books.

  • f7957e5 Thanks @mikebarkmin! - ::pdf builds Typst documents: ::pdf[Worksheet]{src="worksheet.typ"} compiles the document into a PDF during the build and shows it like any other. inputs="solution=true" passes values to the document (each set of inputs is its own PDF). Documents are compiled with the official Typst compiler, which Hyperbook downloads and checks on first use; typst.version in hyperbook.json pins it (0.15.0 and newer are supported), typst.packagePath names a folder of the book's own packages (@local/…), and typst.fontPath a folder of fonts. HYPERBOOK_TYPST_PACKAGE_PATH adds packages shared by several books. The book's root is Typst's root, so imports and images work from anywhere in the book and nothing outside it is read. An unchanged document is not compiled again, a document with errors fails the build with Typst's message, and the dev server compiles documents as pages show them.

    Behaviour change: .typ files are no longer copied into the site. A page that offers one for download with :download[…]{src="file.typ"} still gets it; a plain Markdown link to a .typ file now breaks, and hyperbook check reports it. :::typst blocks are not affected.

  • f7957e5 Thanks @mikebarkmin! - :::typst blocks compile with Typst 0.15.1 (typst.ts 0.8.0-rc4, up from 0.7.0 with Typst 0.14.2), and they can import packages: from Typst Universe as before, and now also the book's own packages (typst.packagePath, e.g. #import "@local/template:1.0.0": *), shared ones from HYPERBOOK_TYPST_PACKAGE_PATH, and on Hyperbook Cloud the instance's packages under Settings → Typst packages. The build packs every package a block imports, and the packages those import, into the site at /__hyperbook_typst/; readers' browsers load them from there. A new packages attribute offers packages that no file imports yet, for edit mode. A package the book's exclude matches stops the build instead of being published.

    Note: a document that uses something Typst 0.15 removed or changed may need an update. typst.ts 0.8.0 is still a release candidate; it is pinned by checksum.

@hyperbook/markdown@0.93.0

Minor Changes

  • f7957e5 Thanks @mikebarkmin! - New ::pdf[Title]{src="file.pdf"} element: shows a PDF document on a page. pdf.js draws the pages in the browser, so documents also work on tablets and phones, and their text can be selected, searched and read aloud. view chooses between pages (all pages below each other, the default), slides (one page with previous/next, arrow keys, swipe and fullscreen), thumb (the first page beside title and download button), embed (the browser's own viewer) and button (only a download button). pages="1-2" limits the pages shown, download="false" hides the download button, height sets the height of slides and embed. The viewer is a downloadable element runtime like Typst or GeoGebra (elements.pdf.cdn), and Hyperbook Cloud can serve it for all books.

  • f7957e5 Thanks @mikebarkmin! - ::pdf builds Typst documents: ::pdf[Worksheet]{src="worksheet.typ"} compiles the document into a PDF during the build and shows it like any other. inputs="solution=true" passes values to the document (each set of inputs is its own PDF). Documents are compiled with the official Typst compiler, which Hyperbook downloads and checks on first use; typst.version in hyperbook.json pins it (0.15.0 and newer are supported), typst.packagePath names a folder of the book's own packages (@local/…), and typst.fontPath a folder of fonts. HYPERBOOK_TYPST_PACKAGE_PATH adds packages shared by several books. The book's root is Typst's root, so imports and images work from anywhere in the book and nothing outside it is read. An unchanged document is not compiled again, a document with errors fails the build with Typst's message, and the dev server compiles documents as pages show them.

    Behaviour change: .typ files are no longer copied into the site. A page that offers one for download with :download[…]{src="file.typ"} still gets it; a plain Markdown link to a .typ file now breaks, and hyperbook check reports it. :::typst blocks are not affected.

  • f7957e5 Thanks @mikebarkmin! - :::typst blocks compile with Typst 0.15.1 (typst.ts 0.8.0-rc4, up from 0.7.0 with Typst 0.14.2), and they can import packages: from Typst Universe as before, and now also the book's own packages (typst.packagePath, e.g. #import "@local/template:1.0.0": *), shared ones from HYPERBOOK_TYPST_PACKAGE_PATH, and on Hyperbook Cloud the instance's packages under Settings → Typst packages. The build packs every package a block imports, and the packages those import, into the site at /__hyperbook_typst/; readers' browsers load them from there. A new packages attribute offers packages that no file imports yet, for edit mode. A package the book's exclude matches stops the build instead of being published.

    Note: a document that uses something Typst 0.15 removed or changed may need an update. typst.ts 0.8.0 is still a release candidate; it is pinned by checksum.

@hyperbook/types@0.31.0

Minor Changes

  • f7957e5 Thanks @mikebarkmin! - hyperbook.json has a new exclude setting: globs for files that must not be part of the built site, for example ["intern/**", "**/*.draft.*"]. They are matched against the address a file would have in the site and apply to the files in public/ and to everything in book/ and glossary/ that is not a page. The dev server does not serve such files either, and hyperbook check reports links that point at them.

  • f7957e5 Thanks @mikebarkmin! - New ::pdf[Title]{src="file.pdf"} element: shows a PDF document on a page. pdf.js draws the pages in the browser, so documents also work on tablets and phones, and their text can be selected, searched and read aloud. view chooses between pages (all pages below each other, the default), slides (one page with previous/next, arrow keys, swipe and fullscreen), thumb (the first page beside title and download button), embed (the browser's own viewer) and button (only a download button). pages="1-2" limits the pages shown, download="false" hides the download button, height sets the height of slides and embed. The viewer is a downloadable element runtime like Typst or GeoGebra (elements.pdf.cdn), and Hyperbook Cloud can serve it for all books.

  • f7957e5 Thanks @mikebarkmin! - ::pdf builds Typst documents: ::pdf[Worksheet]{src="worksheet.typ"} compiles the document into a PDF during the build and shows it like any other. inputs="solution=true" passes values to the document (each set of inputs is its own PDF). Documents are compiled with the official Typst compiler, which Hyperbook downloads and checks on first use; typst.version in hyperbook.json pins it (0.15.0 and newer are supported), typst.packagePath names a folder of the book's own packages (@local/…), and typst.fontPath a folder of fonts. HYPERBOOK_TYPST_PACKAGE_PATH adds packages shared by several books. The book's root is Typst's root, so imports and images work from anywhere in the book and nothing outside it is read. An unchanged document is not compiled again, a document with errors fails the build with Typst's message, and the dev server compiles documents as pages show them.

    Behaviour change: .typ files are no longer copied into the site. A page that offers one for download with :download[…]{src="file.typ"} still gets it; a plain Markdown link to a .typ file now breaks, and hyperbook check reports it. :::typst blocks are not affected.

create-hyperbook@0.4.8

Patch Changes

@hyperbook/cloud@0.6.0

Minor Changes

  • f7957e5 Thanks @mikebarkmin! - Typst documents in Hyperbook Cloud. Books build ::pdf[…]{src="x.typ"} like a local build: the sandboxed CLI lists the documents and the server compiles them with the official Typst compiler, which it downloads and checks itself, with an empty environment, no system fonts, memory and file-size limits, a timeout per document inside the build's own and a compile cache per book. The page preview shows Typst documents with the editor's unsaved text, and an open .typ file gets a PDF preview pane next to the editor, with Typst's errors in the editor's gutter; #import "@…" completes the available packages. Admins add Typst packages every book can import (e.g. @local/assessio:0.1.0) under Settings → Typst packages; versions are added or removed, never replaced. New settings: TYPST_TIMEOUT_SECONDS, TYPST_MAX_JOBS, TYPST_MEMORY_MB, TYPST_PREVIEW_CONCURRENCY, TYPST_BINARY. The ::pdf element's runtime (pdf.js) can be served by the instance like the other element runtimes.

    The editor's .typ files use Hyperbook's light and dark syntax colors instead of the Typst grammar's own light-only ones, the PDF preview (and an opened PDF file) is drawn on the editor's own surface in light and dark mode instead of the browser's dark PDF viewer, keeps its scroll position and no longer flashes while it updates, Typst's errors and the syntax checks share the gutter, and the borders of the file tree, the editor's gutter, its tooltips and menus no longer appear near-black in light mode.

  • f7957e5 Thanks @mikebarkmin! - New ::pdf[Title]{src="file.pdf"} element: shows a PDF document on a page. pdf.js draws the pages in the browser, so documents also work on tablets and phones, and their text can be selected, searched and read aloud. view chooses between pages (all pages below each other, the default), slides (one page with previous/next, arrow keys, swipe and fullscreen), thumb (the first page beside title and download button), embed (the browser's own viewer) and button (only a download button). pages="1-2" limits the pages shown, download="false" hides the download button, height sets the height of slides and embed. The viewer is a downloadable element runtime like Typst or GeoGebra (elements.pdf.cdn), and Hyperbook Cloud can serve it for all books.

  • f7957e5 Thanks @mikebarkmin! - Books have a publishing lock, for exams and other material that must never be public. An owner (or an admin) disables publishing on the book's page; from then on the book can neither be published nor rolled back, an open request to publish is dropped, and a book that is live is taken offline at once. The lock is enforced where a build goes live, so a build that was already waiting or running when the lock was set does not publish the book either. Previews, builds and downloads keep working for the book's members, the book's card shows a badge, and the change is written to the audit log.

  • f7957e5 Thanks @mikebarkmin! - :::typst blocks compile with Typst 0.15.1 (typst.ts 0.8.0-rc4, up from 0.7.0 with Typst 0.14.2), and they can import packages: from Typst Universe as before, and now also the book's own packages (typst.packagePath, e.g. #import "@local/template:1.0.0": *), shared ones from HYPERBOOK_TYPST_PACKAGE_PATH, and on Hyperbook Cloud the instance's packages under Settings → Typst packages. The build packs every package a block imports, and the packages those import, into the site at /__hyperbook_typst/; readers' browsers load them from there. A new packages attribute offers packages that no file imports yet, for edit mode. A package the book's exclude matches stops the build instead of being published.

    Note: a document that uses something Typst 0.15 removed or changed may need an update. typst.ts 0.8.0 is still a release candidate; it is pinned by checksum.

Patch Changes

  • f7957e5 Thanks @mikebarkmin! - The editor's AI assistant writes code blocks of :::pyide, :::webide, :::typst, :::openscad and :::p5 in the current syntax: the main file without a name, every other file with file="…" on the fence. It used to write the old form (python main.py), whose blocks a build ignores with a warning. :::onlineide and :::sqlide, which still take the file name after the language, are unchanged.

hyperbook-studio@0.59.0

Minor Changes

  • f7957e5 Thanks @mikebarkmin! - New ::pdf[Title]{src="file.pdf"} element: shows a PDF document on a page. pdf.js draws the pages in the browser, so documents also work on tablets and phones, and their text can be selected, searched and read aloud. view chooses between pages (all pages below each other, the default), slides (one page with previous/next, arrow keys, swipe and fullscreen), thumb (the first page beside title and download button), embed (the browser's own viewer) and button (only a download button). pages="1-2" limits the pages shown, download="false" hides the download button, height sets the height of slides and embed. The viewer is a downloadable element runtime like Typst or GeoGebra (elements.pdf.cdn), and Hyperbook Cloud can serve it for all books.

Patch Changes

  • f7957e5 Thanks @mikebarkmin! - hyperbook.json has a new exclude setting: globs for files that must not be part of the built site, for example ["intern/**", "**/*.draft.*"]. They are matched against the address a file would have in the site and apply to the files in public/ and to everything in book/ and glossary/ that is not a page. The dev server does not serve such files either, and hyperbook check reports links that point at them.

  • f7957e5 Thanks @mikebarkmin! - ::pdf builds Typst documents: ::pdf[Worksheet]{src="worksheet.typ"} compiles the document into a PDF during the build and shows it like any other. inputs="solution=true" passes values to the document (each set of inputs is its own PDF). Documents are compiled with the official Typst compiler, which Hyperbook downloads and checks on first use; typst.version in hyperbook.json pins it (0.15.0 and newer are supported), typst.packagePath names a folder of the book's own packages (@local/…), and typst.fontPath a folder of fonts. HYPERBOOK_TYPST_PACKAGE_PATH adds packages shared by several books. The book's root is Typst's root, so imports and images work from anywhere in the book and nothing outside it is read. An unchanged document is not compiled again, a document with errors fails the build with Typst's message, and the dev server compiles documents as pages show them.

    Behaviour change: .typ files are no longer copied into the site. A page that offers one for download with :download[…]{src="file.typ"} still gets it; a plain Markdown link to a .typ file now breaks, and hyperbook check reports it. :::typst blocks are not affected.

  • Updated dependencies [f7957e5, f7957e5, f7957e5, f7957e5]:

    • @hyperbook/fs@0.31.0
    • @hyperbook/markdown@0.93.0
    • create-hyperbook@0.4.8

@vercel

vercel Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
hyperbook-4fwa Ready Ready Preview Nov 10, 2026 11:35pm UTC

@mikebarkmin
mikebarkmin merged commit a5d3655 into main Nov 10, 2026
2 checks passed
@mikebarkmin
mikebarkmin deleted the changeset-release/main branch November 10, 2026 23:37

This branch was successfully deployed

1 active deployment
Preview — 243266b4 Deployed Nov 10, 2026 by vercel[bot]
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.

1 participant