New features since v2.2

Here’s a quick summary of some of the interesting new features added in the v2.2 series. For details, see the changelog.

Pre-commit hooks: If you use classic Jupyter, or Lab, then the Jupyter+git problem is now solved. However for vscode and other 3rd party Jupyter clients notebook conflicts are still a problem. However if you use the new pre-commit hook support, you can largely avoid this problem by having your notebooks cleaned when you commit to git.

Module level docstrings: If you assign a string to the special variable _doc_ in your notebook, that will become your module’s module-level docstring. Here’s an example module docstring cell:

_doc_ = """Read and write nbdev's `settings.ini file.
`get_config` is the main function for reading settings."""

Use H3 for functions and properties, instead of H4: By using H3 for functions and properties (and classes, which was always the case) all symbols are now at the same level of the header hierarchy. That makes it easier to organise your documentation using H2 headers to separate sections.

nbdev_new improvements: nbdev_new now automatically sets up a lot more things for you, including everything in settings.ini that it can get from your repo, and even filling in the correct details in the starter notebooks added to your repo.

PS: You may also be interested in checking out info about the forthcoming v2.3 release.