Bokeh 0.12.10 Released

/ Bryan Van de Ven

We are pleased to announce the release of Bokeh 0.12.10!

This release has the following highlights:

  • Patches draw order is always stable
  • A potential memory leak for server sessions was fixed
  • Changes to support NetworkX 2.0
  • Several bug fixes related to data tables and CDS Views
  • Fixes and improvements to push_notebook (classic notebook only for now)
  • Begin API stabilization and lockdown

Plus several other bug fixes and documentation improvements. For full details, see the CHANGELOG and Release Notes. Additionally, examples for each release are uploaded to CDN. Click here to download.

If you are using Anaconda, Bokeh can most easily be installed by executing the command conda install -c bokeh bokeh . Otherwise, use pip install bokeh.

Improvements to push_notebook

The push_notebook function, which is a complementary tool for adding Bokeh interactions in Jupyter notebooks, has been greatly improved. It now uses the same protocol as the Bokeh server under the covers. This streamlines and unifies code, making maintenance and testing much easier. More importantly, from a user perspective, things are much faster and more stable now.

As a reminder, push_notebook currently only functions in classic notebooks. Jupyter Lab support will require changes to the extension that we hope to accomplish soon.

Boring is Exciting

With most major roadmap features implemented, the focus is now bugfixes, polish, and stability. With this release, Bokeh is at or near the “Beginning of the Boring Era.” This release announcement (and many future announcements) may not be as splashy with new features, but that’s a very good thing for anyone wanting to build reliably on top of Bokeh. It’s natural for any project to have a period of change as it figures out what works and does not, but I am happy that the project is entering a new phase that will be focused on stability and incremental improvements.

After deliberation, the Bokeh core team has decided that the full migration of BokehJS to Typescript can wait until after 1.0 is released. Accordingly, we intend to spend a few more quick releases focused on:

  • Fixing the most important remaining bugs and small features
  • Completing 100% API specification and stabilization

The first bullet includes some things such as: fixing excessive compile times for extensions, shoring up some remaining layout deficiences, and making it possible to embed Bokeh server app components individually in Jinja templates.

For the second bullet we are combing the entire API and clearly marking every function and class as “user” or “dev” (public, defended APIs) or “private” (should never be used outside the project). We are also noting what version different functions and classes are introduced in. This information is also maintained under test to protect against unintentional changes. All together this will clarify the expectations and usage of the entire API surface, afford improved documentation organization, and provide long-term stability for all users.

It is my expectation that 1.0 will be released before the end of 2017.

Moving Support Emphasis to Stack Overflow

In order to try to reduce the number of places that are monitored for support, in the coming weeks we will being encouraging people to take many questions to Stack Overflow. This should spread the burden of general support to a wider pool of potential responders, as well as magnify the value of the answers by making them available more easily to a wider audience.

As we get closer to a Bokeh 1.0 release, I’d like to thank the 260 total contributors who have helped make Bokeh such an amazing project. If you’re interested in helping out, drop by the Dev Chat Channel!


Bryan Van de Ve