Notebook 4.1 release

We are excited to announce the release of the latest minor revision of the Jupyter Notebook, version 4.1.

As usual, you can update using pip:

pip install notebook --upgrade  

If you are using Anaconda, you will have to wait for conda to update their copy of the notebook. Once they do, you can run the following:

conda upgrade notebook  

The big split

A little over four months ago we released version 4.0, the first release of Jupyter after the Big Split. The transition from the monolitic IPython to the many pieces that we have today was not smooth, but it was well worth it. It will enable us to make many smaller releases of individual subprojects, rather than massive monolithic releases across the entire project. As a result, we are starting to ship smaller releases more often. Today's release is the notebook, the most visible project in the Jupyter organization.

An overdue update

This minor release was almost four months in the making, much longer than the other Jupyter projects. Usually we only include bug fixes in minor revisions, but in this releases we include a few new features. The addition of these new features meant more testing and design work for 4.1 than minor releases we've made in the past. In this blog post we will highlight some of the new features you can expect in this release!

Multi-cells selection

Multi-cell selection is an often requested feature. The new version of the notebook includes the ability to select multiple cells and perform commands on them. Not all cell commands can be performed on multiple cells yet, but the basic API exists and can be used for extensions.

To select a contiguous block of cells while in command mode, press Shift-J or Shift-K (also Shift-Down or Shift-Up) to extend and shrink the selection. Or you can hold Shift and left click on a cell to select a range of cell. The selected cells can be visually distinguished from the unselected ones by their soft blue background.

Many cell commands operate now on the selected cells. For example, merging cells (Shift-M) used to merge current with the cell below it. It still does that for a single selected cell, but now it also merges all selected cells together.

multiple selection demo

Tell us what you think of multi-select, how you use it, and share the extensions you write which make use of it!

Command palette

Atom and Sublime Text users might be familiar with the Command Palette. As users of Atom and Sublime Text ourselves, we find this is a useful capability as it expands the number of commands that can be performed quickly and efficiently via the keyboard. Thus we have implemented a Command Palette which looks and behaves like the ones found in those editors. Now, using the shortcut Cmd-Shift-P (or Ctrl-Shift-P on Linux and Windows), you can bring up the Command Palette, which is a Spotlight-like dialog box that allows you to quickly search through all the commands available in the notebook and execute them. Regardless of whether the commands originated in the Menu, the Toolbar, or were only exposed through the notebook APIs, you can find them in the Command Palette. Additionally, the Command Palette will show you the keyboard shortcuts bound to the commands you use. This helps you to have a faster workflow as you become familiar with the keyboard shortcuts.

Command palette in action with restart and run-all

The Command Palette brings the notebook closer to your fingertips. We hope it improves your experience both now and in future revisions where we plan to add fuzzy matching and other features. If you'd like to help implement these features, stop by the jupyter/notebook github repository, we'd be excited to welcome you!

Restart kernel and run-all

One often requested feature is the ability to restart the kernel and run all cells at once. This is a simple way of making sure your notebook does what you think. Now you can access this new feature from the Kernel Menu:

restart and run all from the kernel menu

In attempt to get this feature right, we took our time designing the UI and also tested alternatives using a third-party user testing system. You can view the results of the study on GitHub or below:

results user testing a feature

The option on the left leads to a faster completion of the restarting kernel task.

We haven't added a keyboard shortcut, but just like the other notebook functions, you can bind your own keyboard shortcut using custom JavaScript. The various restart commands are also available in the Command Palette.

Find and Replace

The new Find and Replace dialog is found under the Edit menu of the notebook. If you're in command mode, you can press the F key to bring up the dialog.

find and replace

The dialog displays a live preview of the find and replace action you specify. We have also added toggle buttons for case sensitivity, regular expressions, and the ability to only replace within selected cells.

En route for 5.0

We hope you enjoy this new release and the accompanying features. As always, we welcome questions, feedback, contributions.

We have already started the process of working on 5.0, in collaboration with developers from Continuum Analytics, Bloomberg, and IBM, who are all doing fantastic jobs. The comunity is growing and now is a perfect time for new contributors. A few needed improvements have already been mentioned in this blog post, but many more can be found on our issue tracker on GitHub!