NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3209 most downloaded on crates.io
Creates a book from markdown files
Last release 3 months ago
06 Jul 2026
Release timing varies
gaps range from 9 days to 5 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
7 versions withdrawn
withdrawn after publishing
11 years old
112 releases · first in 2015
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-054 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-054 for a complete list of changes.
One column per quarter.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-053 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-053 for a complete list of changes.
.html extension.
#3028?highlight= from URL when highlights are dismissed via clicking.
#3084See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-052 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-052 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-051 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-051 for a complete list of changes.
MDBOOK_VERSION to not cause an error.
#2952The 0.5.0 release is the next major release of mdBook, containing over 130 PRs since 0.4.52! The primary focus for this release has been an evolution
The 0.5.0 release is the next major release of mdBook, containing over 130 PRs since 0.4.52! The primary focus for this release has been an evolution of the Rust APIs to make it easier to maintain, to evolve in a backwards-compatible fashion, to clean up some things that have accumulated over time, and to significantly improve the performance and compile-times.
This release also includes many new features described in the CHANGELOG.
We have prepared a 0.5 Migration Guide to help existing authors switch from 0.4.
The 0.5.0 release is the next major release of mdBook, containing over 130 PRs since 0.4.52! The primary focus for this release has been an evolution of the Rust APIs to make it easier to maintain, to evolve in a backwards-compatible fashion, to clean up some things that have accumulated over time, and to significantly improve the performance and compile-times.
This release also includes many new features described below.
We have prepared a 0.5 Migration Guide to help existing authors switch from 0.4.
The final 0.5.0 release only contains the following changes since 0.5.0-beta.2:
MDBOOK_ are correctly specified instead of silently ignoring. This also fixed being able to replace entire top-level tables like MDBOOK_OUTPUT.
#2942See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-050-beta2 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-050-beta2 for a complete list of changes.
Config::contains_key.
#2910ayu theme.
#2904dt tags are no longer modified if the tag is manually written HTML.
#2913See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-050-beta1 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-050-beta1 for a complete list of changes.
v0.5.0-alpha.1...v0.5.0-beta.1
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-050-alpha1 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-050-alpha1 for a complete list of changes.
optional field for preprocessors. The default is false, so this also changes it so that it is an error if the preprocessor is missing.
#2797MarkdownOptions struct to specify settings for markdown rendering.
#2809output.html.sidebar-header-nav option to disable it.
#2822Book::chapters and Book::for_each_chapter_mut to more conveniently iterate over chapters (instead of all items).
#2838output.html.definition-lists to disable it.
#2847output.html.admonitions to disable it.
#2851mdbook crate has been split into multiple crates.
#2766pulldown-cmark has been upgraded to 0.13.0, bringing a large number of fixes to markdown processing.
#2401non_exhaustive to help allow them to change in a backwards-compatible way.
#2779
#2823id_from_content to be private.
#2791command to use paths relative to the book root.
#2796{{#previous}} and {{#next}} handlebars navigation helpers with objects.
#2794book.src field is no longer serialized if it is the default of "src".
#2800MDBook with_renderer/with_preprocessor to overwrite the entry if an extension of the same name is already loaded.
#2802--dest-dir to be relative to the current directory, not the book root.
#2806mdbook- prefix. This helps avoid namespace conflicts with header IDs.
#2808output.html.smart-punctuation is now true by default.
#2810Book::sections to Book::items.
#2813output.html.hash-files is now true by default.
#2820log to tracing.
#2829get_404_output_file to HtmlConfig.
#2855take_lines functions to mdbook-driver and made private.
#2854toml as a public dependency.
#2773book.multilingual field. This was never used.
#2775curly-quotes, use output.html.smart-punctuation instead.
#2788book.json.
#2789output.html.copy-fonts. The default fonts are now always copied unless you override the theme/fonts/fonts.css file.
#2790{{theme_option}} handlebars helper. It has not been used for a while.
#2795--dest-dir option to mdbook test.
#2805See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0452 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0452 for a complete list of changes.
Note: If you have a custom index.hbs theme file, it is recommended that you update it to the latest version to pick up the fixes in this release.
# HTML fragments using the existing output.html.redirect table.
#2747rel="edit" attribute to the edit page button.
#2702mdbook serve command has switched its underlying server library from warp to axum.
#2748display:none when it is hidden in order to prevent the browser's search from thinking the sidebar's text is visible.
#2725hash-files is enabled.
#2742
#2746See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451 for a complete list of changes.
See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451 for a complete list of changes.
Added a keyboard shortcut help popup when pressing ?. #2608
?.
#2608/ can now be used to open the search bar.
#2698opener to drop some dependencies.
#2709Added a warning on unused fields in the root of book.toml. #2622
book.toml.
#2622book.multilingual field is no longer serialized, or shown in mdbook init.
#2689JSON.parse instead of parsing JavaScript.
#2633<text> elements because it breaks the element.
#2668Footnotes now have back-reference links. These links bring the reader back to the original location. As part of this change, footnotes are now only re
Fixed search not showing up in sub-directories. #2586
The output.html.hash-files config option has been added to add hashes to static filenames to bust any caches when a book is updated. {{resource}} temp
output.html.hash-files config option has been added to add hashes to static filenames to bust any caches when a book is updated. {{resource}} template tags have been added so that links can be properly generated to those files.
#1368Added context to error message when rustdoc is not found. #2545
Added pre-built aarch64-apple-darwin binaries to the releases. #2500
mdbook clean now shows a summary of what it did.
#2458output.html.search.chapter config setting to disable search indexing of individual chapters.
#2533# fragment URL.
#2517Fixed setting the title in mdbook init when no git user is configured. #2486
Fixed chapter list folding. #2473
Note: If you have a custom index.hbs theme file, you will need to update it to the latest version.
Note: If you have a custom index.hbs theme file, you will need to update it to the latest version.
Reverted the update to pulldown-cmark which broke the semver API. #2388
Fixed the automatic deploy broken in the previous release. #2383
Added nix to the default set of languages supported for syntax highlighting. #2262
nix to the default set of languages supported for syntax highlighting.
#2262output.html.curly-quotes option has been renamed to output.html.smart-punctuation to better reflect what it does. The old option curly-quotes is kept for compatibility, but may be removed in the future.
#2327mdbook serve and mdbook watch now uses a poll-based watcher instead of the native operating system notifications. This should fix issues on various systems and environments, and more accurately detect when files change. The native watcher can still be used with the --watcher native CLI option.
#2325mdbook test output now includes color, and shows relative paths to the source.
#2259❗️ Updated the markdown parser. This brings in many changes to more closely follow the CommonMark spec. This may cause some small rendering changes. I
src/theme directory has been removed.
#2263pathdiff dependency optional based on the watch feature.
#2291s shortcut key handler should not trigger when focus is in an HTML form.
#2311Added Nim to the default highlighted languages. #2232
Added the book.text-direction setting for explicit support for right-to-left languages. #1641
book.text-direction setting for explicit support for right-to-left languages.
#1641rel=prefetch to the "next" links to potentially improve browser performance.
#2168.warning CSS class which is styled for displaying warning blocks.
#2187Fixed file change watcher failing on macOS with a large number of files. #2157
Reverted the dependency update to the toml crate (again!). This was an unintentional breaking change in 0.4.32. #2021
color-scheme CSS property is now set based on the light/dark theme, which applies some slight color differences in browser elements like scroll bars on some browsers.
#2134toml crate (again!). This was an unintentional breaking change in 0.4.32.
#2021Fixed theme-color meta tag not syncing with the theme. #2118
Fixed menu border render flash during page navigation. #2101
Added support for heading attributes. Attributes are specified in curly braces just after the heading text. An HTML ID can be specified with # and cla
# and classes with ..
For example: ## My heading {#custom-id .class1 .class2}
#2013output.html.code.hidelines table allows you to define the prefix character that will be used to hide code lines based on the language.
#2093Built-in fonts are no longer copied when fonts/fonts.css is overridden in the theme directory. Additionally, the warning about copy-fonts has been rem
fonts/fonts.css is overridden in the theme directory.
Additionally, the warning about copy-fonts has been removed if fonts/fonts.css is specified.
#2080mdbook init --force now skips all interactive prompts as intended.
#2057gitignore library to ignore. This should bring some improvements with gitignore handling.
#2076The sidebar is now shown on wide screens when localstorage is disabled. #2017
Reverted the dependency update to the toml crate. This was an unintentional breaking change in 0.4.26. #2021
toml crate. This was an unintentional breaking change in 0.4.26.
#2021The 0.4.26 release has been yanked due to an unintentional breaking change.
The 0.4.26 release has been yanked due to an unintentional breaking change.
output.html.copy-fonts option has been deprecated.
To define custom fonts, be sure to define theme/fonts.css.
#1987Fixed a regression where mdbook test -L deps path-to-book would not work. #1959
mdbook test -L deps path-to-book would not work.
#1959The precompiled linux-gnu mdbook binary available on GitHub Releases inadvertently switched to a newer version of glibc. This release goes back to an
Updated all dependencies #1951 #1952 #1844
Added a --chapter option to mdbook test to specify a specific chapter to test. #1741
--chapter option to mdbook test to specify a specific chapter to test.
#1741<kbd> tags.
#1906x86_64-unknown-linux-musl and aarch64-unknown-linux-musl (see Releases).
#1862build.extra-watch-dirs which is an array of additional directories to watch for changes when running mdbook serve.
#1884type="text/javascript" attribute from <script> tags.
#1881Fixed an issue where mdBook would fail to compile with Rust nightly-2022-07-22. #1861
Fixed a regression in 0.4.19 where inline code would have excessive padding in some situations such as headings. #1855
The serve command now supports HEAD requests. #1825
serve command now supports HEAD requests.
#1825index.html file. Previously it would
only generate the index file for prefix chapters.
#1829Fixed rendering of SUMMARY links that contain markdown escapes or other markdown elements. #1785
Fixed parsing of output.html.print configuration table. #1775
Added output.html.print.page-break config option to control whether or not there is a page break between chapters in the print output. #1728
output.html.print.page-break config option to control whether or not
there is a page break between chapters in the print output.
#1728output.html.playground.runnable config option to globally disable
the run button in code blocks.
#1546mdbook serve live reload websocket now uses the protocol, host, and
port of the current page, allowing access through a proxy.
#1771Major update to expand the documentation located at . #1709 #1710
Deprecated the google-analytics option. Books using this option should place the appropriate code in the theme/head.hbs file instead. #1675
theme/head.hbs file instead.
#1675Added the ability to specify the preprocessor order. #1607
Reverted the change to update to highlight.js 11, as it broke hidden code lines. #1597
Added support for Rust 2021 edition. #1596
mdbook completions subcommand which provides shell completions.
#1425--title and --ignore flags to mdbook init to avoid the
interactive input.
#1559warp (the web server) to the latest version.
This also updates the minimum supported Rust version to 1.46.
#1612output.html.playground.editable is true.
#1613Reverted breaking change in 0.4.9 that removed the __non_exhaustive marker on the Book struct. #1572
Updated all dependencies and raised the minimum Rust version to 1.42. #1528
Added the option output.html.edit-url-template which can be a URL which is linked on each page to direct the user to a site (such as GitHub) where the
output.html.edit-url-template which can be a URL which is
linked on each page to direct the user to a site (such as GitHub) where the
user can directly suggest an edit for the page they are currently reading.
#1506SUMMARY.md.
#1437Updated shlex parser to fix a minor parsing issue (used by the preprocessor/backend custom command config). #1471
Paths relative to the output directory are still supported with a deprecation warning. #1418
?highlight argument from the URL.
#1427mdbook init --theme will now place the theme in the root of the book
directory instead of in the src directory.
#1432command to a relative path now interprets
the relative path relative to the book root. Previously it was inconsistent
based on the platform (either relative to the current directory, or relative
to the renderer output directory). Paths relative to the output directory
are still supported with a deprecation warning.
#1418theme directory in the config is now interpreted as relative to the
book root, instead of the current directory.
#1405{{#playground}} snippets.
#1375Fixed XSS in the search page. CVE-2020-26297 648c9ae
Added the output.html.print.enable configuration value to disable the "print" page. #1169
Added output.html.cname option to emit a CNAME file which is used by GitHub Pages to know which domain is being used. #1311
output.html.cname option to emit a CNAME file which is used by
GitHub Pages to know which domain is being used.
#1311mdbook test no longer stops on the first test failure, but instead will
run all the tests.
#1313local font source for Source Code Pro, as the locally
installed font may not render properly on FireFox on macOS.
#1307The "show hidden lines" icon has changed from the "expand" icon to an "eye". #1281
Removed several outdated dev-dependencies. #1267
Your coding agent can read these notes before it upgrades. Set up the MCP server →