0.12.15 (Mar 2018)¶
Bokeh Version 0.12.15
is an incremental update that adds a few
important features and fixes several bugs. Some of the highlights
include:
- Addressed several WebGL bugs #6867, #7087, #7211, #7681
- Switched to Chrome headless for CI image tests, will support better WebGL testing #6594
- Updated data source selections to be proper Bokeh models #6845
- Fixed memory leaks with certain kinds of Bokeh server usage #7468
- Added new glyphs for hexagon markers and hex tiles, and a new hexbin method #7638, #4786
- Completed BokehJS port to TypeScript #6481
Many other small bugfixes and docs additions. For full details see the CHANGELOG.
Additionally, we are pleased to announce Bokeh joins NumFOCUS Sponsored Projects.
Migration Guide¶
NOTE: the 0.12.x series is the last planned release series before a version 1.0 release. For more information see the project roadmap.
DataTable¶
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_header
and index_width
are
now available to further customize the index column appearance.
Selections¶
The handling of selections has needed attention in Bokeh for some time.
This release adds a new Bokeh model 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.
The new Selection
model is found in
the same location on data sources, i.e. source.selected
. It has the
following properties:
.indices # which scatter typer indices have been hit
# previously selected["1d"].indices
.line_indices # which point(s) on a line have been hit
# previously selected["0d"].indices
.multiline_indices # which points on which line of a MultiLine
# 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'].indicies
will continue to function
as before for compatibility. However, programmtically setting selections
must now go through the mode properties, i.e. .indices
, .line_indices
,
etc.
Grid Bounds¶
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¶
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.
NO_DATA_RENDERERS¶
This validation warning resulted in false or irrelevant warnings in many reasonable configurations, and has been removed.
Document and ServerContext callbacks¶
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
cb_id = doc.add_next_tick_callback(my_cb)
doc.remove_next_tick_callback(cb_id)
Sphinx Version¶
The bokeh.sphinxext Sphinx extension has been updated to work with currnt versions. Sphinx >= 1.6 is now required to use the extension.