All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Breaking Changes: Most plugins and themes should be incompatible with this version
- GitBook rendering is now done using React, which brings better APIs for plugins and a more interactive website.
- Performances: Installation of plugins is much faster thanks to
ied
- Performances: Git conrefs are faster over large books
- Website Feature: new default plugin
copy-code
to copy code blocks content in one click - Website Feature: new default plugin
heading-anchors
to have clickable headings - Website Feature:
fontsettings
is now only controlling the font size, and can work on multiple themes - Plugin API: hook
page
can no longer modify the content, only the page's attributes - Plugin API: plugins can no longer export resources, instead use the
_assets
folder - Plugin API: testing framework
-
gitbook init
creates.gitignore
if not found - Ignore files are no longer copied to the output
- Fix catching parsing errors leading to possible missing pages in generated book
- Rollback markdown parser to
kramed
untilmarkup-it
is stable enough
- Fix bug on Firefox when navigating to an url containing an hash
- Update nunjucks to fix JS error when page contains a lot of templating blocks
- Switch markdown parser from
kramed
tomarkup-it
- Fix support of
|
in tables - Fix access to
output.name
in templating - Fix i18n for website and PDF
- Fix minor scrolling issues on website
- Improve options of default search indexer (keywords, disabling per pages)
- Improve pertinence of search results
- Fix order of plugins during loading
- Fix error when using math and conrefs
- Fix target attribute for external links
- Fix serve command
- Always load themes after plugins
- README/Introduction doesn't require to be the first entry in the summary
- Highlight active entry in summary when scrolling a page with anchors
- Support empty parts in summary
- Fix redirection in
gitbook serve
when accessing a folder without trailing slash - Fix links/annotations for glossary not being correctly resolved
- Fix regression for supporting uppercase filenames in structure files
- Fix
gitbook install
when using Git URLs for plugins
- Fix crash for anchor links
- Fix regression in link resolution when contain anchor
- Fix
structure.<name>
configuration not supporting filenames with dots
- Summary can contain external links and anchors (Fix #776)
- Summary can contain differents entitled sections
- Glossary is generated as a normal page
- Headings are no longer annotated with glossary terms
- Themes are now published as a plugin, with ability to extend it from the book source
links.sidebar
configuration is no longer supported, use summary sections insteadpdf.headerTemplate
andpdf.footerTemplate
have been replaced by a template in theme/book:_layouts/ebook/pdf_header.html
and_layouts/ebook/pdf_footer.html
- Markdown parser is now using CommonMark
- Root folder for the book can be specified in the
"root"
property of thebook.json
file - Multi-lingual books share assets folder
- YAML front matter is parsed and can extend page's properties
- Fix
uk
translation - Fix heading ID including dashes
- Fix error in code highlighting for unknown languages
- Fix data-uri images being handled as external images
- Accept SSH url as plugin version
- Add templating blocks
markdown
,asciidoc
andmarkup
- Better search experience
- Better default theme, more responsive and cleaner
- Fix bug with filenames including spaces
- Add Turkish and Catalan translations
- Fix custom CSS that are generated by plugins for PDF output
- Fix support for plugins generating custom stylesheets (
styles-less
andstyles-sass
) - Fix glossary terms being replaced in script (ex: math)
- Fix regression introduced by
2.6.3
of single HTML tags in markdown
- Fix parsing bug with inline HTML in Markdown
- Fix
gitbook.state.bookRoot
,gitbook.state.root
now has a trailing slash - Update nunjucks to 2.2.0
- Use CamelCase for
gitbook.state.innerLanguage
- Close sidebar after clicking a link on mobile
- Add root for multilingual books:
gitbook.state.bookRoot
- Fix color of h6 headings
- Fix bottom margin of lists and blockquotes
- Add Swedish translation (
sv
) - Add Czech translation (
cs
) - Fix locale names for
zh-hans
andjp
- Update plugin
search
to fix crashes - Aceept case-incensitive structure files (README, GLOSSARY, etc)
- Fix custom stylesheets for ebook generation
- Trigger event
start
beforepage.change
- Fix calcul of
gitbook.state.root
when serving HTML index as/
- Font settings, sharing and search are externalized as default plugins
- Plugins can define a configuration schema in the manifest, this schema will be used to validate configuration during build
- New Node.js API for plugin:
book.formatString(type, content)
- New client side API for website plugins:
gitbook.toolbar.createButton(opts)
- Better header/footer for PDF, CSS wil be inlined to easily style the header/footer
- Cleaner table of contents for ebooks
- Support for RTL in ebook's table of contents
- Better colors for mobi (links and code blocks)
- Fix installation of plugins when using a pre-release
- Fix support for pre-releases
- Update asciidoc parser to remove git dependency
- Fix templating in imported content
- Fix querystring in image urls
- Normalize heading IDs like GitHub
- Use Arial as default font for PDFs
- Add
root
,chapterTitle
andfilepath
togitbook.state
JS API
- Add ukrainian translation (
uk
) - Add
book.json
configuration for maximum size of search index - Improve reliability of summary parser
- Default plugins should not be installed by
gitbook install
- Limit search index size to avoid crash during generation
- Fix code highlighting for html without language specified
- Fix warning message for gitbook version when building a multilingual book
- Fix disabling of default plugins, ex:
-highlight
- Fix page being updated when user wants to open a link in a new tab
- Plugins can now replaced default code highlighter
- Add semantic information for screen readers (web version)
- Content references accept absolute paths, resolved to book folder
- Improve overall reliability
- Fix bug in SUMMARY parsing preventing multiple entries without filenames
- Fix blocks (like maths) in Asciidoc
- Fix error when checking gitbook version
- Fix black font color for ebooks (mobi, pdf and epub)
- Fix ISO code for korean language
- Fix korean translation
- Fix syntax highlighting for asciidoc
- Fix inline html escaping in markdown
- Add warning for file outside SUMMARY
- Force SUMMARY entries to be unique by filename
- Fix nunjucks issue with multiple
{% raw %}
blocks - Fix crash when git conref failed
- Fix crash when failed to download remote image (better error message)
- Fix flicking effect when changing page (big UX improvement)
- Add Hebrew translation (
he
) - Add utility method
book.config.get
for plugins - Hooks
page:before
andpage
are no longer deprecated - Remove webfonts to make website lighter
- Make glossary's order case insensitive
- Fix direction in code blocks (always LTR)
- Add options
chapterMark
andpageBreaksBefore
for PDF - Update code highlighting library
book.json
accessible asconfig
in templating syntax- Add Vietnamese translation (
vi
)
- Fix error in calcul of
levels
in table of contents, error introduced a few versions ago - Add optional
styles/print.css
to replaceprint.css
used in ebook
- Fix
{% raw %}
, got confused with "fake" variable declarations - Fix title of language chooser
- Fix the X-UA-Compatible meta tag
- Move style sheets to the section
- Fix
gitbook init
for SUMMARY with empty entries - Fix escaping of code blocks in markdown
- Fix relative links in windows
- Improve watcher in serve command (switch to chokidar)
- Add Romanian translation (
ro
) - Add Finish translation (
fi
) - Add Japanese translation (
jp
) - Add Korean translation (
kr
)
- Improve error logging (display file, line and column)
- Add back support for
options.originalInput
- Don't process math in markdown parser (delegated to
mathjax
plugin) - Fix some cases of code blocks escaping
- Fix i18n for introduction title in json format
- Fix reload when book configuration is updated
- Fix backslashes in url when building on windows
- Fix page title of introduction
- Ignore codeblocks when replacing glossary terms
- Improve Unit Tests
- Fix scrolling position in website when preparing page
- Fix progress order in json format
- Fix default generator for use programmatically
- Add option "author" for html meta tags
- Fix links normalization (content and hash)
- Fix odd cases with code blocks escaping
- Fix definition of entry point title using SUMMARY.md
- Fix windows incompatibility
- Add support for rtl (enabled by default for
ar
andfa
) - Escape code blocks in markdown parser
- Add Persian/Farsi translation (
fa
) - Add Arabic translation (
ar
) - Add Bengali translation (
bn
) - Provide generator name in template context
- Fix links in sidebar
- Fix normalization of html link (README to index)
- Fix html snippets escaping
- Improve locale detection for i18n
- Fix chapter name for Glossary in pdf
- Don't escape html in glossary items
- Fix generation of multilingual book as ebook
- Add "post" block attribute to post-process
- Fix display of glossary in ebook formats
- Add default footer and header to pdf
- Fix generation of json format compatible with 1.x.x
- Add Simplifiled Chinese and Traditional Chinese translations
- Add es and pt translations
- Fix replacement of glossary terms
- Fix copy of files/covers
- Add back
finish:before
hook
- Fix copy of cover for multilingal books
- Norwegian translation
- Load plugins from book in priority
- Fix init command
- Update parsers to fix spaces in summary (
[email protected]
)
- Externalize parsing into
gitbook-parsers
module - Supports AsciiDoc and reStructuredText
- Hooks for page (
page:*
) are now deprecated, plugins should extend filters and blocks instead - Hooks
summary
andglossary
(after and before) have been removed - Exercises and Quizzes are no longer parsed in the markdown parser
- Support for more markdown extensions:
.markdown
,.mdown
- Templates are rendered with nunjucks instead of swig, syntax is almost compatible, there is some changes with contexts and filters.
{{ super() }}
should be use instead of{% parent %}
- Clean output folder on build without removing
.git
and.svn
- MathJAX is no longer a default plugin
- SVG images are converted to PNG during generation of ebooks
- i18n in website and ebook (ru, it, de, fr)
- New templating syntax
- Content references (both internal and external)
- Glossary terms are handled during generation (also in ebook format)
- Fix
serve
command, broken by1.4.2
- Add nicer
dark
theme :)
- Force
process.exit
after builds, to prevent (possibly) lingering plugins
- Fix command 'install' without arguments
- Add command
gitbook install
to install plugins from book.json package.json
is no longer necessary
- Add glossary to ebooks
- Fix autocover with new hook "finish:before"
- Add X-UA-Compatible meta tag for IE
- Fix parsing of lexed content using the client library
- ePub files are now passing validation from epubcheck
- Fix replacement of multiple glossary terms in a single sentence
- Fix on windows deep relative links
- Fix search indexer
- Fix error with links in markdown
- Bundle gitbook parsing library as a client side library in
gitbook.js
andgitbook.min.js
- Improvements on ebook generation
- Fix incorrect follow of links in ebook generation
- Move Table of Contents at the beginning of the ebook
- Update to last highlight.js (includes Swift)
- Includes of templates and variables (from book.json)
- Rewrite quiz logic to be more robust
- Improve integration of glossary
- Improve generation of ebook by using a multiple HTML pages input source
- Fix incorrect page breaks after h1 and h2 divs
- New options to set header and footer in PDF generation
- Plugins can now extend the ebook generation (pdf, epub, mobi)
- Update
kramed
to version 0.4.3
- Update
mathjax
plugin and MathJAx to version 2.4 - Update
highlight.js
to 8.2.0
- Update
mathjax
plugin, fixes issues with inline math rendering (no longer wanted)
- New inline math convention (kramdown's), using
$$
rather than$
as delimiters - Fix instapaper sharing
- The
exercises
&quizzes
plugins are now by default
- New design
- Support for glossary
- Support for sharing to instapaper
- Support for footnotes
- Update
fs-extra
to0.10.0
(fixes potential race conditions)
- Add page break in ebook (pdf, epub, mobi) between chapters/articles
- Start using kramed instead of marked
- Fix display of inline math
- Switch to graceful-fs to fix EMFILE errors
- Add sharing to weibo.com
- Support generating a plugin's book info dynamically
- Improve navigation on dark theme
- Improve path normalization when parsing SUMMARY.md
- Generate header id the same as github
- Custom links can be added at top of sidebar
- Summary can now be transformed by plugins
- Support importing code snippets