-render_criteria works a little differently now:
Using render_criteria (and render-anti-criteria) on root blocks is now
supported (#37). This was possible before but not really useful because
you had to have the same criteria for all the blocks underneath it anyway.
-Old: If any block in the chain meets criteria, then draw.
-New: If root block doesn't meet criteria, then don't draw. If root
block does mete criteria, but no child blocks do, then don't draw.
-Add render_anti_criteria which allows you to tell blocks to draw only when a
criteria is not present. (see Blocks documentation for more information.)
-When loading config, we now validate that all blocks have different names to
make sure the config is written correctly.
-Document how to send progress data to ProgressBlock.
-Dramatically improve idle performance. #35
-Fixed a bug where replaced notifications might have a different layout to new
ones. #37
-Update cairo and pango dependencies.
-TextBlock text will now fall back to wrapping on character boundaries if no
word boundaries are available. #39
-Fixed a bug where large notifications might take a long time to receive with
a long poll_interval. #35
-Fixed a bug where replacing wasn't working as intended on notifications with
the same app name and tag, with replacing_enabled set to false.
This package contains a syntax coloring theme for pygments making use of
the JupyterLab CSS variables. The goal is to enable the use of JupyterLab's
themes with pygments-generated HTML.
Change log:
1.2.6 (2022-02-02)
=====
- Fix translations not showing in the GUI
- Don't save some defaults to configuration files
- Fix visibility of the associated-command configuration
- Update configure.ac.in syntax
- Translation Updates:
Basque, Chinese (China), Croatian, Danish, Hebrew, Indonesian,
Occitan (post 1500), Portuguese (Brazil), Slovenian, Swedish
Arctic Fox aims to be a desktop oriented web browser. It started as a forked
and rebranded Pale Moon 27.9.4 and retains its classic interface. Many fixes
and enhancements have been imported from Firefox and TenFourFox.
The goal here is to implement specific security updates and bug fixes to
keep this browser as up to date as possible for aging systems.
Version 2.9.1
Changes:
If possible, attach Python exception with py::raise_from to TypeError when casting from C++ to Python. This will give additional info if Python exceptions occur in the caster. Adds a test case of trying to convert a set from C++ to Python when the hash function is not defined in Python.
Add a mapping of C++11 nested exceptions to their Python exception equivalent using py::raise_from. This attaches the nested exceptions in Python using the __cause__ field.
Propagate Python exception traceback using raise_from if a pybind11 function runs out of overloads.
py::multiple_inheritance is now only needed when C++ bases are hidden from pybind11.
Bug fixes:
Remove a boolean cast in numpy.h that causes MSVC C4800 warnings when compiling against Python 3.10 or newer.
Render py::bool_ and py::float_ as bool and float respectively.
Build system improvements:
Fix CMake extension suffix computation on Python 3.10+.
Allow CMAKE_ARGS to override CMake args in pybind11's own setup.py.
Remove a few deprecated c-headers.
More uniform handling of test targets.
Add clang-tidy readability check to catch potentially swapped function args.
deliver messages for any addresses given on the command line. If your
qmail installation used non-default values for conf-qmail, conf-break,
or the alias user, you can specify them in the $QMAIL, $QMAILBREAK, and
$QMAILALIAS environment variables. For example:
# env QMAILBREAK=+ qtraceaddr address@example.org
0.17.4
Fixed
Replace create_server by create_unix_server
0.17.3
Fixed
Drop wsproto version checking.
0.17.2
Fixed
Revert 1332. While trying to solve the memory leak, it introduced an issue
Revert stream interface changes. This was introduced on 0.14.0, and caused an issue
Fix wsproto version check expression
0.14.7
- Requests which raise a PoolTimeout need to be removed from the pool queue.
- Fix AttributeError that happened when Socks5Connection were terminated.
6.4.8
Bugs fixed
- Fix to remove potential memory leak on Jupyter Notebooks ZMQChannelHandler code
6.4.7
Bugs fixed
- Fix Chinese punctuation
- Add date field to kernel message header
- Fix deprecation warning
Maintenance and upkeep improvements
- Enforce labels on PRs
- Fix: CI error for python 3.6 & macOS
Other merged PRs
- handle KeyError when get session
- Updated doc for passwd
6.4.6
Bugs fixed
- Fix `asyncio` error when opening notebooks
- Change to use a universal Chinese translation on certain words
- Fix Chinese translation typo
- Fix `send2trash` tests failing on Windows
Maintenance and upkeep improvements
- TST: don't look in user site for serverextensions
- Enable terminal tests as `pywinpty` is ported for python 3.9
6.4.5
Bug fixes
- Recover from failure to render mimetype
Maintenance and upkeep improvements
- Fix crypto handling
- Fix `jupyter_client` warning
Documentation improvements
- Fix nbsphinx settings
- Fully revert the pinning of `nbsphinx` to 0.8.6
- Pin `nbsphinx` to 0.8.6, clean up orphaned resources
- Fix typo in docstring
6.4.4
Documentation improvements
- Update Manual Release Instructions
Other merged PRs
- Use default JupyterLab CSS sanitizer options for Markdown
- Fix syntax highlight
6.4.3
Bugs fixed
- Add @babel/core dependency
- Switch webpack to production mode
Maintenance and upkeep improvements
- Clean up link checking
6.4.2
Bugs fixed
- Add missing file to manifest
- Fix issue 3218
- Fix version of jupyter-packaging in pyproject.toml
- "#element".tooltip is not a function on home page fixed.
Maintenance and upkeep improvements
- Enhancements to the desktop entry
- Add missing spaces to help messages in config file
6.4.0
Bugs fixed
- Fix Handling of Encoded Paths in Save As Dialog
- Fix: split_cell doesn't always split cell
- Correct 'Content-Type' headers
- Fix skipped tests & remove deprecation warnings
- [Gateway] Track only this server's kernels
- Bind the HTTPServer in start
Maintenance and upkeep improvements
- Revert "do not apply asyncio patch for tornado >=6.1"
- Use Jupyter Releaser
- Add Workflow Permissions for Lock Bot
- Fixes related to the recent changes in the documentation
- Add maths checks in CSS reference test
- Add Issue Lock and Answered Bots
Documentation improvements
- Spelling correction
- Minor typographical and comment changes
- Fixes related to the recent changes in the documentation
- Fix readthedocs environment
6.3.0
Merged PRs
* Add square logo and desktop entry files
* Modernize Changelog
* Add missing "import inspect"
* Add Codecov badge to README
* Remove configuration for nosetests from setup.cfg
* Update security.rst
* Docs-Translations: Updated Hindi and Chinese Readme.md
* Allow /metrics by default if auth is off
* Skip terminal tests on Windows 3.9+ (temporary)
* Update GatewayKernelManager to derive from AsyncMappingKernelManager
* Drop use of deprecated pyzmq.ioloop
* Drop support for Python 3.5
* Allow jupyter_server-based contents managers in notebook
* Russian translation fixes
* Increase culling test idle timeout
* Re-enable support for answer_yes flag
* Replace Travis and Appveyor with Github Actions
* DOC: Server extension, extra docs on configuration/authentication.
6.2.0
Merged PRs
- Increase minimum tornado version
- Adjust skip decorators to avoid remaining dependency on nose
- Ensure that cell ids persist after save
- Add reconnection to Gateway (form nb2kg)
- Fix some typos
- Handle TrashPermissionError, now that it exist
6.1.6
Merged PRs
- do not require nose for testing
- [docs] Update Chinese and Hindi readme.md
- Add support for creating terminals via GET
- Made doc translations in Hindi and Chinese
6.1.5 is a security release, fixing one vulnerability:
- Fix open redirect vulnerability GHSA-c7vm-f5p4-8fqh (CVE to be assigned)
6.1.4
- Fix broken links to jupyter documentation
- Add additional entries to troubleshooting section
- Revert change in page alignment
- Bug fix: remove double encoding in download files
- Fix typo for Check in zh_CN
- Require a file name in the "Save As" dialog
6.1.3
- Title new buttons with label if action undefined
6.1.2
- Fix russian message format for delete/duplicate actions
- Remove unnecessary import of bind_unix_socket
- Tooltip style scope fix
6.1.1
- Prevent inclusion of requests_unixsocket on Windows
6.1.0
Please note that this repository is currently maintained by a skeleton
crew of maintainers from the Jupyter community. For our approach moving
forward, please see this
[notice](https://github.com/jupyter/notebook#notice) from the README.
Thank you.
Here is an enumeration of changes made since the last release and
included in 6.1.0.
- Remove deprecated encoding parameter for Python 3.9 compatibility.
- Add support for async kernel management
- Fix typo in password_required help message
- Gateway only: Ensure launch and request timeouts are in sync
- Update Markdown Cells example to HTML5 video tag
- Integrated LoginWidget into edit to enable users to logout from the t...
- Update message about minimum Tornado version
- Logged notebook type
- Added nl language
- Add UNIX socket support to notebook server.
- Update CodeMirror dependency
- Tree added download multiple files
- Toolbar buttons tooltip: show help instead of label
- Remove unnecessary import of requests_unixsocket
- Add ability to cull terminals and track last activity
- Code refactoring notebook.js
- Install terminado for docs build
- Convert notifications JS test to selenium
- Add cell attachments to markdown example
- Add Japanese document
- Migrate Move multiselection test to selenium
- Use `cmdtrl-enter` to run a cell
- Fix broken "Raw cell MIME type" dialog
- Make a notebook writable after successful save-as
- Add actual watch script
- Added `--autoreload` flag to `NotebookApp`
- Enable check_origin on gateway websocket communication
- Restore detection of missing terminado package
- Culling: ensure `last_activity` attr exists before use
- Added functionality to allow filter kernels by Jupyter Enterprise Gat...
- 'Play' icon for run-cell toolbar button
- Bump minimum version of jQuery to 3.5.0
- Remove old JS markdown tests, add a new one in selenium
- Add support for more RTL languages
- Make markdown cells stay RTL in edit mode
- Unforce RTL output display
- Fixed multicursor backspacing
- Implemented Split Cell for multicursor
- Alignment issue \[FIXED\]
- MathJax: Support for `\gdef`
- Another (Minor) Duplicate Code Reduction
- Update readme regarding maintenance
- Document contents chunks
- Backspace deletes empty line
- The dropdown submenu at notebook page is not keyboard accessible
- Tooltips visible through keyboard navigation for specified buttons
- Fix for recursive symlink
- Fix for the terminal shutdown issue
- Add japanese translation files
- Workaround for socket permission errors on Cygwin
- Implement optional markdown header and footer files
- Remove double link when using `custom_display_url`
- Respect `cell.is_editable` during find-and-replace
- Fix exception causes all over the codebase
- Improve login shell heuristics
- Added support for `JUPYTER_TOKEN_FILE`
- Kill notebook itself when server cull idle kernel
- Implement password hashing with bcrypt
- Fix broken links
- Russian internationalization support
- Add a metadata tag to override notebook direction (ltr/rtl)
- Paste two images from clipboard in markdown cell
- Add keyboard shortcuts to menu dropdowns
- Update codemirror to `5.56.0+components1`
Changes:
## 1.20.3
- Fixes to kemonoparty and twitter extractors.
## 1.20.2
- Add event extractor for twitter
- Add `--source-address` command-line option #2206
- Enable cards option on twitter extractor by default
- Several fixes
## 1.20.1
- Add newgrounds search extractor
- Restore `-d/--dest` functionality from before 1.20.0
- Change short option for `--directory` to `-D`
- Several fixes
## 1.20.0
- Improve several extractors
- Add a generic extractor
- Add `-d/--directory` and `-f/--filename` command-line options
- Add `--sleep-request` and `--sleep-extractor` command-line options
- Prefer yt-dlp over youtube-dl
- Rename `--write-infojson` to `--write-info-json`
- Several fixes
## 1.19.3
- Improve several extractors
- Several fixes
- Remove seisoparty
## 1.19.2
- Improve several extractors
- Several fixes
## 1.19.1 - 2021-10-24
- Improve several extractors
- Several fixes
## 1.19.0 - 2021-10-01
- Improve several extractors
- Implement a download progress indicator
- Implement a `page-reverse` option
- Implement a way to specify extended format strings
- Add a `--write-infojson` command-line option
- Several fixes
Version 1.8.0 -- 2021/08/08
---------------------------
* Add compatibility with pathlib paths
* Fix thread compatibility of modern windows implementation
* Fix handling of UNC names in legacy windows implementation
Version 1.7.1 -- 2021/06/21
---------------------------
* Release stable version with changes from last 3 releases
* Fix handling of UNC names
Version 1.7.0a1 -- 2021/05/14
-----------------------------
* Changed conditional for when to try to use pyobjc version
Version 1.7.0a0 -- 2021/04/20
-----------------------------
* Add console_script entry point
* Increased python CI versions
* Fix minor issue in setup.py
* Fix issue with windows tests importing modules on non-windows
* Unit test cleanups, rewrites, and flake8 cleanups
* Windows: Fix legacy windows platform for multi-byte unicode and add tests
* macOS: Add alternative pyobjc version to potentially improve compatibility
Version 1.6.0b1 -- 2020/06/18
-----------------------------
* Add main method which allows calling via ``python -m send2trash somefile``
* Windows: Add support for using IFileOperation when pywin32 is present on Vista and newer
* Add support for passing multiple files at once in a list
* Windows: Batch multi-file calls to improve performance
* Windows: Fix issue with SHFileOperation failing silently when path is not found
3.4.0
~~~~~
* Drop support for Python <= 3.5.x
* FIX: 104 issue with new IPython kernels
3.3.1
~~~~~
* FIX: Fix bug where lines were not displayed in Jupyter>=6.0
* CHANGE: moving forward, new pypi releases will be signed with the GPG key 2A290272C174D28EA9CA48E9D7224DAF0347B114 for PyUtils-CI <openpyutils@gmail.com>. For reference, older versions were signed with either 262A1DF005BE5D2D5210237C85CD61514641325F or 1636DAF294BA22B89DBB354374F166CFA2F39C18.
3.3.0
~~~~~
* New CI for building wheels.
3.2.6
~~~~~
* FIX: Update MANIFEST.in to package pyproj.toml and missing pyx file
* CHANGE: Removed version experimental augmentation.
3.2.5
~~~~~
* FIX: Update MANIFEST.in to package nested c source files in the sdist
3.2.4
~~~~~
* FIX: Update MANIFEST.in to package nested CMakeLists.txt in the sdist
3.2.3
~~~~~
* FIX: Use ImportError instead of ModuleNotFoundError while 3.5 is being supported
* FIX: Add MANIFEST.in to package CMakeLists.txt in the sdist
3.2.2
~~~~~
* ENH: Added better error message when c-extension is not compiled.
* FIX: Kernprof no longer imports line_profiler to avoid side effects.
3.2.0
~~~~~
* Dropped 2.7 support, manylinux docker images no longer support 2.7
* ENH: Add command line option to specify time unit and skip displaying
functions which have not been profiled.
* ENH: Unified versions of line_profiler and kernprof: kernprof version is now
identical to line_profiler version.
3.1.0
~~~~~
* ENH: fix Python 3.9
3.0.2
~~~~~
* BUG: fix ``__version__`` attribute in Python 2 CLI.
3.0.1
~~~~~
* BUG: fix calling the package from the command line
3.0.0
~~~~~
* ENH: Fix Python 3.7
* ENH: Restructure into package
6.4.0
-----
* Allow passing extra args to code highlighter
* Prevent page breaks in outputs when printing
* Add collapsers to template
* Optionally speed up validation
6.3.0
-----
* Update state filter
* Add slide numbering
* Fix HTML templates mentioned in help docs
6.2.0
-----
* Add the ability to fully customize ``widget_renderer_url``
* Enable users to customize MathJax URLs
* Add CLI configuration for disable-chromium-sandbox
* Enables webpdf to be rendered with templates
* Adds dejavu
6.1.0
-----
This release is mostly a long list of bug fixes and capability
additions. Thanks to the many contributors for helping Improve
nbconvert!
Significant Changes
~~~~~~~~~~~~~~~~~~~
* Dropped Python 3.6 and added Python 3.9
* Convert execute preprocessor wrapper to resemble papermill
Comprehensive notes
~~~~~~~~~~~~~~~~~~~
* Feature: support static widgets in Reveal.js slides
* Feature: add speaker notes to Reveal.js template
* Add correct output mimetype to WebPDF exporter
* Set mimetype for webpdf correctly
* Fix docstring issue and a broken link
* Add CLI example for removing cell tag syntax
* Include output of stdin stream in lab template
* Don't use a shell to call inkscape
* JupyterLab export as HTML with widgets fails to load widgets
* Move note inside Reveal.js HTML slideshow
* fix issue 1507: broken command line option --CSSHTMLHeaderPreprocessor.style=
* Fix order of template paths
* Changed documentation of external_exporters
* Fix template precedence when using a custom template
* add pip to docs envt
* Fix CI By Adding PIP to conda envt for docs build
* Explicitly install pip in docs environment.yml
* small update to docs hide cell
* Allow child templates to override mathjax
* Allow get_export_names to skip configuration check
* Update docs: Tex Live package on Ubuntu
* Test jupyter_client
* Update jupyterlab css
* Webpdf: Use a temporary file instead of an URL
* Applied patch for marking network changes
* Change webpdf display name
* Allow disabling pyppeteer sandbox
* Make pagination configurable in webpdf
* Fix Reveal.js version in documentation
* Fix dangling reference to get_template_paths()
* Solved svg2pdf conversion error if Inkscape is installed into the default path on a windows machine
* fix typo
* Update version dependency of traitlets
* Update execute.py
* Fix code output indentation when running nbconvert --no-input
* fix issue (i'd call it a BUG)
* add docstring
* Update nbconvert_library.ipynb
* Supports isolated iframe when converting to HTML
6.0.7
-----
Primarly a release addressing template extensions issues reported since 6.0 launched.
Comprehensive notes
~~~~~~~~~~~~~~~~~~~
- Comment typo fix
- Documented updated to default conversion changes from 6.0
- Allow custom template files outside of the template system to set their base template name
- Restored basic template from 5.x
- Added proper support for backwards compatibility templates
6.0.6
-----
A range of bug fixes for webpdf exports
Comprehensive notes
~~~~~~~~~~~~~~~~~~~
- Removed CSS preprocessor from default proprocessor list (fixes classic rendering)
- Fixed error when pickling TemplateExporter
- Support for fractional height html / webpdf exports
- Added short wait time for fonts and rendering in webpdf
- Updated template documentation
- Minor fixes to the webpdf exporter
- Fixup use with a running event loop within webpdf
- Prevent overflow in input areas in lab template
6.0.5
-----
- Revert networkidle2 change which caused custom cdn-fetched widgets in webpdf
6.0.4
-----
Comprehensive notes
~~~~~~~~~~~~~~~~~~~
Fixing Problems
- The webpdf exporters does not add pagebreaks anymore before reaching the maximum height allowed by Adobe
- Fixes some timeout issues with the webpdf exporter
6.0.3
-----
Execute preprocessor no longer add illegal execution counts to markdown cells
6.0.2
-----
A patch for a few minor issues raised out of the 6.0 release.
Comprehensive notes
~~~~~~~~~~~~~~~~~~~
Fixing Problems
- Added windows work-around fix in CLI for async applications
- Fixed pathed template files to behave correctly for local relative paths without a dot
- ExecuteProcessor now properly has a ``preprocess_cell`` function to overwrite
Testing, Docs, and Builds
- Updated README and docs with guidance on how to get help with nbconvert
- Fixed documentation that was referencing ``template_path`` instead of ``template_paths``
6.0.1
-----
A quick patch to fix an issue with get_exporter
6.0
---
Significant Changes
~~~~~~~~~~~~~~~~~~~
Nbconvert 6.0 is a major release of nbconvert which includes many significant changes.
- Python 2 support was dropped. Currently Python 3.6-3.8 is supported and tested by nbconvert. However, nbconvert 6.0 provides limited support for Python 3.6. nbconvert 6.1 will drop support for Python 3.6. Limited support means we will test and run CI on Python 3.6.12 or higher. Issues that are found only affecting Python 3.6 are not guaranteed to be fixed. We recommend all users of nbconvert use Python 3.7 and higher.
- Unlike previous versions, nbconvert 6.0 relies on the `nbclient <https://github.com/jupyter/nbclient/>`__ package for the execute preprocessor, which allows for asynchronous kernel requests.
- ``template_path`` has become ``template_paths``. If referring to a 5.x style ``.tpl`` template use the full path with the ``template_file`` argument to the file. On the command line the pattern is ``--template-file=<path/to/file.tpl>``.
- Nbconvert 6.0 includes a new "webpdf" exporter, which renders notebooks in pdf format through a headless web browser, so that complex outputs such as HTML tables, or even widgets are rendered in the same way as with the HTML exporter and a web browser.
- The default template applied when exporting to HTML now produces the same DOM structure as JupyterLab, and is styled using JupyterLab's CSS. The pygments theme in use mimics JupyterLab's codemirror mode with the same CSS variables, so that custom JupyterLab themes could be applied. The classic notebook styling can still be enabled with
.. code-block:: bash
jupyter nbconvert --to html --template classic
- Nbconvert 6.0 includes a new system for creating custom templates, which can now be installed as packages. A custom "foobar" template is installed in Jupyter's data directory under ``nbconvert/templates`` and has the form of a directory containing all resources. Templates specify their base template as well as other configuration parameters in a ``conf.json`` at the root of the template directory.
- The "slideshow" template now makes use of RevealJS version 4. It can now be used with the HTML exporter with
.. code-block:: bash
jupyter nbconvert --to html --template reveal
The ``--to slides`` exporter is still supported for convenience.
- Inkscape 1.0 is now supported, which had some breaking changes that prevented 5.x versions of nbconvert from converting documents on some systems that updated.
Remaining changes
~~~~~~~~~~~~~~~~~
We merged 105 pull requests! Rather than enumerate all of them we'll link to the github page which contains the many smaller impact improvements.
NBClient, a client library for programmatic notebook execution, is a tool for
running Jupyter Notebooks in different execution contexts. NBClient was spun
out of nbconvert's former ExecutePreprocessor.
Version 1.1 (2020/02/22)
Update to support MkDocs version 1.1.
Update to support Bootstrap 4.
Remove the amelia and readable themes, which were dropped by Bootswatch.
Add Bootswatch's new themes: darkly, litera, lumen, lux, materia, minty, pulse, sandstone, solar, and superhero.
Port changes from the parent mkdocs theme:
Properly handle the scroll offset for anchors.
Improve support for long dropdowns.
Improve support for tall nav headers
Use toc_tokens to generate the TOC
Fix padding/background color issues with hljs code blocks.
Version 1.0 (2018/08/03)
Inherit from the mkdocs theme and get all the parent theme's features.
Update to support MkDocs version 1.0.
Version 0.5 (2018/02/16)
Fix padding of code blocks
Generate all themes from one common base.
Update templates for MkDocs v0.17.
Update per-theme CSS to match MkDocs.
Update to FontAwesome 4.5.0.
Improve code highlighting colors for all themes.
Support admonitions.
Version 0.4 (2016/03/02)
Some styling tweaks.
Add support for permalinks.
Support inverse nav headers.
Version 0.3.1 (2016/02/24)
Fix docs deployment.
Version 0.3 (2016/02/24)
Add support for sub-level nav.
Version 0.2 (2018/02/06)
Add search modal to all themes.
Automate releases.
Version 1.1 (2020/02/22)
Update to support MkDocs version 1.1.
Update to support Bootstrap 4.
Version 1.0.1 (2018/10/01)
Include mkdocs_theme.yml in MANIFEST.
Version 1.0 (2018/08/03)
Inherit from the mkdocs theme and get all the parent theme's features.
Update to support MkDocs version 1.0.
Version 0.2 (2018/02/13)
Added support for MkDocs version 0.17
Fixed use of Bootstrap Grid
Updated to FontAwesome 4.7.0
Updated to Bootstrap 3.3.7
Updated RespondJS and html5shiv
Version 1.2.3 (2021-10-12)
Built-in themes now also support these languages:
Simplified Chinese
Japanese
Brazilian Portuguese
Spanish
Third-party plugins will take precedence over built-in plugins with the same name
Bugfix: Fix ability to load translations for some languages: core support
Bugfix (regression in 1.2): Prevent directory traversal in the dev server
Bugfix (regression in 1.2): Prevent webserver warnings from being treated as a build failure in strict mode
Bugfix: Correctly print colorful messages in the terminal on Windows
Bugfix: Python version 3.10 was displayed incorrectly in --version
Other small improvements; see commit log.
Version 1.2.2 (2021-07-18)
Bugfix (regression in 1.2): Fix serving files/paths with Unicode characters
Bugfix (regression in 1.2): Revert livereload file watching to use polling observer
This had to be done to reasonably support usages that span virtual filesystems such as non-native Docker and network mounts.
This goes back to the polling approach, very similar to that was always used prior, meaning most of the same downsides with latency and CPU usage.
Revert from 1.2: Remove the requirement of a site_url config and the restriction on use_directory_urls
Bugfix (regression in 1.2): Don't require trailing slash in the URL when serving a directory index in mkdocs serve server
Instead of showing a 404 error, detect if it's a directory and redirect to a path with a trailing slash added, like before.
Bugfix: Fix gh_deploy with config-file in the current directory
Bugfix: Fix reversed breadcrumbs in "readthedocs" theme
Allow "mkdocs.yaml" as the file name when '--config' is not passed
Stop treating ";" as a special character in URLs: urlparse -> urlsplit
Improve build performance for sites with many pages (partly already done in 1.2)
Version 1.2.1 (2021-06-09)
Bugfix (regression in 1.2): Ensure 'gh-deploy' always pushes.
Version 1.2 (2021-06-04)
Major Additions to Version 1.2
Support added for Theme Localization
The mkdocs and readthedocs themes now support language localization using the theme.locale parameter, which defaults to en (English). The only other supported languages in this release are fr (French) and es (Spanish). For details on using the provided translations, see the user guide. Note that translation will not happen by default. Users must first install the necessary dependencies with the following command:
pip install mkdocs[i18n]
Translation contributions are welcome and detailed in the Translation Guide.
Developers of third party themes may want to review the relevant section of the Theme Development Guide.
Contributors who are updating the templates to the built-in themes should review the Contributing Guide.
The lang setting of the search plugin now defaults to the language specified in theme.locale.
Support added for Environment Variables in the configuration file
Environments variables may now be specified in the configuration file with the !ENV tag. The value of the variable will be parsed by the YAML parser and converted to the appropriate type.
somekey: !ENV VAR_NAME
otherkey: !ENV [VAR_NAME, FALLBACK_VAR, 'default value']
See Environment Variables in the Configuration documentation for details.
Support added for Configuration Inheritance
A configuration file may now inherit from a parent configuration file. In the primary file set the INHERIT key to the relative path of the parent file.
INHERIT: path/to/base.yml
The two files will then be deep merged. See Configuration Inheritance for details.
Update gh-deploy command
The vendored (and modified) copy of ghp_import has been replaced with a dependency on the upstream library. As of version 1.0.0, ghp-import includes a Python API which makes it possible to call directly.
MkDocs can now benefit from recent bug fixes and new features, including the following:
A .nojekyll file is automatically included when deploying to GitHub Pages.
The --shell flag is now available, which reportedly works better on Windows.
Git author and committer environment variables should be respected
Rework auto-reload and HTTP server for mkdocs serve
mkdocs serve now uses a new underlying server + file watcher implementation, based on http.server from standard library and watchdog. It provides similar functionality to the previously used livereload library (which is now dropped from dependencies, along with tornado).
This makes reloads more responsive and consistent in terms of timing. Multiple rapid file changes no longer cause the site to repeatedly rebuild.
Almost every aspect of the server is slightly different, but actual visible changes are minor. The logging outputs are only similar to the old ones. Degradations in behavior are not expected, and should be reported if found.
Offset the local site root according to the sub-path of the site_url
When using mkdocs serve and having the site_url specified as e.g. http://example.org/sub/path/, now the root of the locally served site becomes http://127.0.0.1:8000/sub/path/ and all document paths are offset accordingly.
A build_error event was added
Plugin developers can now use the on_build_error hook to execute code when an exception is raised while building the site.
See on_build_error in the Plugins documentation for details.
Three new exceptions: BuildError PluginError and Abort
MkDocs now has tree new exceptions defined in mkdocs.exceptions: BuildError, PluginError, and Abort:
PluginError can be raised from a plugin to stop the build and log an error message without traceback.
BuildError should not be used by third-party plugins developers and is reserved for internal use only.
Abort is used internally to abort the build and display an error without a traceback.
See Handling errors in the Plugins documentation for details.
Search Indexing Strategy configuration
Users can now specify which strategy they wish to use when indexing their site for search. A user can select between the following options:
full: Adds page title, section headings, and full page text to the search index.
sections: Adds page titles and section headings only to the search index.
titles: Adds only the page titles to the search index.
See Search Indexing in the configuration documentation for details.
Backward Incompatible Changes in 1.2
The site_url configuration option is now required. If it is not set, a warning will be issued. In a future release an error will be raised
The use_directory_urls configuration option will be forced to false if site_url is set to an empty string. In that case, if use_directory_urls is not explicitly set to false, a warning will be issued
Note
This was reverted in release 1.2.2
The google_analytics configuration option is deprecated as Google appears to be phasing it out in favor of its new Google Analytics 4 property. See the documentation for your theme for alternatives which can be configured as part of your theme configuration. For example, the mkdocs and readthedocs themes have each added a new theme.analytics.gtag configuration option which uses the new Google Analytics 4 property. See Google's documentation on how to Upgrade to a Google Analytics 4 property. Then set theme.analytics.gtag to the "G-" ID and delete the google_analytics configuration option which contains a "UA-" ID. So long as the old "UA-" ID and new "G-" ID are properly linked in your Google account, and you are using the "G-" ID, the data will be made available in both the old and new formats by Google Analytics.
A theme's files are now excluded from the list of watched files by default when using the --livereload server. This new default behavior is what most users need and provides better performance when editing site content. Theme developers can enable the old behavior with the --watch-theme option.
The mkdocs theme now removes the sidebar when printing a page. This frees up horizontal space for better rendering of content like tables
The mkdocs.config.DEFAULT_SCHEMA global variable has been replaced with the function mkdocs.config.defaults.get_schema(), which ensures that each instance of the configuration is unique
The mkdocs.utils.warning_filter is deprecated and now does nothing. Plugins should remove any reference to is as it may be deleted in a future release. To ensure any warnings get counted, simply log them to the mkdocs log (i.e.: mkdocs.plugins.pluginname).
The on_serve event (which receives the server object and the builder function) is affected by the server rewrite. server is now a mkdocs.livereload.LiveReloadServer instead of livereload.server.Server. The typical action that plugins can do with these is to call server.watch(some_dir, builder), which basically adds that directory to watched directories, causing the site to be rebuilt on file changes. That still works, but passing any other function to watch is deprecated and shows a warning. This 2nd parameter is already optional, and will accept only this exact builder function just for compatibility.
The python method of the plugins.search.prebuild_index configuration option is pending deprecation as of version 1.2. It is expected that in version 1.3 it will raise a warning if used and in version 1.4 it will raise an error. Users are encouraged to use an alternate method to generate a prebuilt index for search.
The lunr and lunr[languages] dependencies are no longer installed by default. The dependencies are only needed for the rare user who pre-builds the search index and uses the python option, which is now pending deprecation. If you use this feature, then you will need to manually install lunr and lunr[languages]. A warning is issued if the dependencies are needed but not installed.
Other Changes and Additions to Version 1.2
Bugfix: Properly process navigation child items in _get_by_type when filtering for sections
Official support for Python 3.9 has been added and support for Python 3.5 has been dropped.
Bugfix: Fixes an issue that would result in a partially cut-off navigation item in the ReadTheDocs theme
Structure Files object now has a remove method to help plugin developers manipulate the Files tree. The corresponding src_paths has become a property to accommodate this possible dynamic behavior.
Updated highlight.js to 10.5.0.
Bugfix: Search plugin now works with Japanese language.
Documentation has been refactored
Restore styling of tables in the readthedocs theme
Ensure site_url ends with a slash
Correct documentation of pages template context variable
The lunr dependency has been updated to 0.5.9, and lunr.js to the corresponding 2.3.9 version
Color is now used in log messages to identify errors, warnings and debug messages.
Bugfix: Identify homepage when use_directory_urls is False