# Changelog ## mdBook 0.4.0 [99ecd4f...d4df7e7](https://github.com/rust-lang/mdBook/compare/99ecd4f...d4df7e7) ### Breaking Changes - Several of the changes in the release have altered the public API of the mdbook library. - Many dependencies have been updated or replaced. This also removes the `--websocket-hostname` and `--websocket-port` from the `serve` command. [#1211](https://github.com/rust-lang/mdBook/pull/1211) - A new "404" page is now automatically rendered. This requires knowledge of the base URL of your site to work properly. If you decide to use this as your 404 page, you should set the `site-url` setting in the book configuration so mdbook can generate the links correctly. Alternatively you can disable the 404 page generation, or set up your own 404 handling in your web server. [#1221](https://github.com/rust-lang/mdBook/pull/1221) - If you are using customized themes, you may want to consider setting the `preferred-dark-theme` config setting, as it now defaults to "navy". [#1199](https://github.com/rust-lang/mdBook/pull/1199) - "Playpen" has been renamed to "playground". This is generally backwards compatible for users, but `{{#playpen}}` will now display warnings. This may impact books that have modified the "playpen" elements in the theme. [#1241](https://github.com/rust-lang/mdBook/pull/1241) - If a renderer is not installed, it is now treated as an error. If you want the old behavior of ignoring missing renderers, set the `optional` setting for that renderer. [#1122](https://github.com/rust-lang/mdBook/pull/1122) - If you have a custom favicon, you may need to look into adding an SVG version, otherwise the default SVG icon will be displayed. [#1230](https://github.com/rust-lang/mdBook/pull/1230) ### Added - Added a new `[rust]` configuration section to `book.toml`, which allows setting the default edition with `edition = "2018"`. [#1163](https://github.com/rust-lang/mdBook/pull/1163) - Renderers can now be marked as `optional`, so that they will be ignored if the renderer is not installed. [#1122](https://github.com/rust-lang/mdBook/pull/1122) - Added `head.hbs` to allow adding content to the `` section in HTML. [#1206](https://github.com/rust-lang/mdBook/pull/1206) - Added "draft chapters". These are chapters listed without a link to indicate content yet to be written. [#1153](https://github.com/rust-lang/mdBook/pull/1153) - Added "parts" to split a book into different sections. Headers can be added to `SUMMARY.md` to signify different sections. [#1171](https://github.com/rust-lang/mdBook/pull/1171) - Added generation of a "404" page for handling missing pages and broken links. [#1221](https://github.com/rust-lang/mdBook/pull/1221) - Added configuration section for specifying URL redirects. [#1237](https://github.com/rust-lang/mdBook/pull/1237) - Added an SVG favicon that works with light and dark colors schemes. [#1230](https://github.com/rust-lang/mdBook/pull/1230) ### Changed - Changed default Rust attribute of `allow(unused_variables)` to `allow(unused)`. [#1195](https://github.com/rust-lang/mdBook/pull/1195) - Fonts are now served locally instead of from the Google Fonts CDN. The `copy-fonts` option was added to disable this if you want to supply your own fonts. [#1188](https://github.com/rust-lang/mdBook/pull/1188) - Switched the built-in webserver for the `serve` command to a new implementation. This results in some internal differences in how websockets are handled, which removes the separate websocket options. This should also make it easier to serve multiple books at once. [#1211](https://github.com/rust-lang/mdBook/pull/1211) - The default dark theme is now "navy". [#1199](https://github.com/rust-lang/mdBook/pull/1199) - "Playpen" has been renamed to "playground", matching the actual name of the service which was renamed many years ago. [#1241](https://github.com/rust-lang/mdBook/pull/1241) ### Fixed - Links with the `+` symbol should now work. [#1208](https://github.com/rust-lang/mdBook/pull/1208) - The `MDBOOK_BOOK` environment variable now correctly allows overriding the entire book configuration. [#1207](https://github.com/rust-lang/mdBook/pull/1207) - The sidebar can no longer be dragged outside of the window. [#1229](https://github.com/rust-lang/mdBook/pull/1229) - Hide the Rust Playground "play" button for `no_run` code samples. [#1249](https://github.com/rust-lang/mdBook/pull/1249) - Fixed the `--dest-dir` command-line option for the `serve` and `watch` commands. [#1228](https://github.com/rust-lang/mdBook/pull/1228) - Hotkey handlers are now disabled in `text` input fields (for example, typing `S` in a custom text input field). [#1244](https://github.com/rust-lang/mdBook/pull/1244) ## mdBook 0.3.7 [88684d8...99ecd4f](https://github.com/rust-lang/mdBook/compare/88684d8...99ecd4f) ### Changed - Code spans in headers are no longer highlighted as code. [#1162](https://github.com/rust-lang/mdBook/pull/1162) - The sidebar will now scroll the activate page to the middle instead of the top. [#1161](https://github.com/rust-lang/mdBook/pull/1161) - Reverted change to reject build output within the `src` directory, and instead add a check that prevents infinite copies. [#1181](https://github.com/rust-lang/mdBook/pull/1181) [#1026](https://github.com/rust-lang/mdBook/pull/1026) ### Fixed - Fixed sidebar line-height jumping for collapsed chapters. [#1182](https://github.com/rust-lang/mdBook/pull/1182) - Fixed theme selector focus. [#1170](https://github.com/rust-lang/mdBook/pull/1170) ## mdBook 0.3.6 [efdb832...88684d8](https://github.com/rust-lang/mdBook/compare/efdb832...88684d8) ### Added - `MDBook::execute_build_process` is now publicly accessible in the API so that plugins can more easily initiate the build process. [#1099](https://github.com/rust-lang/mdBook/pull/1099) ### Changed - Use a different color for Ayu theme's highlighting for Rust attributes (uses a bright color instead of the comment color). [#1133](https://github.com/rust-lang/mdBook/pull/1133) - Adjusted spacing of sidebar entries. [#1137](https://github.com/rust-lang/mdBook/pull/1137) - Slightly adjusted line-height of `

`, `