0.12.15 (Mar 2018) is an incremental update that adds a few important features and fixes several bugs. Some of the highlights include:
Many other small bugfixes and docs additions. For full details see the
Additionally, we are pleased to announce Bokeh joins NumFOCUS Sponsored Projects.
The mis-named property
DataTable.row_header has been deprecated. This property confusingly controlled the presence of an index column in a DataTable. Now, use the
index_position property to specify where an index column should be located in the table (use
None to suppress the index column).
Additionally, new properties
index_width are now available to further customize the index column appearance.
The handling of selections has needed attention in Bokeh for some time. This release adds a new Bokeh model
~bokeh.models.selections.Selection to represent selections on data sources. Having a proper Bokeh model makes selections simpler to use and to synchronize in apps than the previous "bare dict" that represented selections.
~bokeh.models.selections.Selection model is found in the same location on data sources, i.e.
source.selected. It has the following properties:
# which scatter typer indices have been hit .indices # previously selected["1d"].indices # which point(s) on a line have been hit .line_indices # previously selected["0d"].indices # which points on which line of a MultiLine .multiline_indices # previously selected["2d"].indices
In the near future, a property
image_indices will be added to support hit testing of image glyphs.
All code should update to use these new properties. For now read only access to things like
selected['1d'].indices will continue to function as before for compatibility. However, programmatically setting selections must now go through the mode properties, i.e.
Grids now automatically defer to any existing axis bounds when their own bounds are set to "auto". Previously grids used always used the full range bounds. This change makes it simpler to have axes and grids both use a consistent set of bounds.
Minor ticks are no longer displayed outside explicitly set axis bounds. Previously minor ticks would display one extra "major tick" distance outside explicit range bounds.
This validation warning resulted in false or irrelevant warnings in many reasonable configurations, and has been removed.
All Document and ServerContext methods that add callbacks can now add the same callback multiple times. Methods that remove callbacks now receive the value returned from a previous method call that added the callback. Example:
# Was doc.add_next_tick_callback(my_cb) doc.remove_next_tick_callback(my_cb) # Now = doc.add_next_tick_callback(my_cb) cb_id doc.remove_next_tick_callback(cb_id)
The bokeh.sphinxext Sphinx extension has been updated to work with current versions. Sphinx >= 1.6 is now required to use the extension.