All Versions
76
Latest Version
2.4
Avg Release Cycle
34 days
Latest Release
41 days ago

Changelog History
Page 1

  • v2.4 Changes

    September 15, 2021
    • bugfixes:

      • #7217 [component: bokehjs] Including both log and linear axis types not working
      • #10756 [component: bokehjs] [BUG] Jitter caching too aggressively
      • #10806 Date validation is too lax
      • #10876 [component: bokehjs] [BUG] 'dashed' line style not working properly when using webgl
      • #10898 [component: bokehjs] [BUG] Tabs widget disabled property has no effect
      • #10927 [component: docs] Inconsistent information about _units property in reference guide
      • #11016 [component: bokehjs] [BUG] Figure name passed to renderer.glyph.name but not renderer.name
      • #11025 [component: bokehjs] Line and MultiLine produce inconsistent data bbox with trailing NaNs
      • #11035 [component: bokehjs] [BUG] Bokeh.Widgets objects missing tools, required by Bokeh.Plotting.gridplot()
      • #11037 [component: bokehjs] [BUG] Using sizing_mode in gridplot layouts requires explicit assignment
      • #11038 [component: bokehjs] [BUG] Calling figure({title:"some title"}) replaces Title object with string, prevents subsequent updates to title text
      • #11045 [component: bokehjs] Hatch patterns are lost with SVG backend after interaction
      • #11058 [component: bokehjs] [BUG] SVG backend does not support line dash offset
      • #11071 [component: examples] [BUG] Use of np.int is deprecated in numpy 1.20
      • #11139 [BUG] Image.transform does not handle data:image/PNG;base64 string images
      • #11149 [component: bokehjs] [BUG] Inconsistent hatch rotation
      • #11154 [BUG] Non-selected hatching not grayed out
      • #11162 [component: bokehjs] [BUG] Do not make room for invisible tick labels
      • #11178 [component: examples] Broken example: Olympic Sprinters
      • #11197 [component: tests] [BUG] Correct missleading classname in BokehJS unit Test for LogTickFormatter
      • #11216 [BUG] Toolbar properties non-nullable
      • #11217 [BUG] WebGL regressions when setting alpha as an iterable
      • #11276 [component: bokehjs] [BUG] FileInput filename not returning the filenames after upgrading to v2.3.2
      • #11288 [component: bokehjs] [BUG] WebGL non-circle markers revert to canvas when selected
      • #11319 [component: tests] examples' tests fail in CI
      • #11367 [component: bokehjs] [BUG] Ellipse glyph does not render properly in figure legend
      • #11374 [component: bokehjs] [BUG] RadioButtonGroup orientation doesn't have expected effect
      • #11378 [component: bokehjs] [BUG] multi_line with logScale
      • #11402 [component: bokehjs] [BUG] SVGRenderingContext2D.arc() differs from Canvas specification, it breaks if used without calling beginPath() beforehand
      • #11413 [component: bokehjs] Changing tile provider does not remove attribution
      • #11437 [component: bokehjs] [BUG] HoverTool ignores IndexFilter in CDSView
      • #11444 [component: tests] [BUG] license-related codebase tests on Win10 fail
      • #11446 [component: bokehjs] [BUG] Hover glyphs permanently rendered with vline/hline mode in 2.4.0dev
      • #11457 [component: tests] MathText integration tests are not robust
      • #11460 [component: tests] Bokeh-CI unit export tests failing
      • #11474 [component: bokehjs] [BUG] graph_renderer.layout_provider changes via JS code are not displayed on plots
      • #11477 [component: server] [BUG] Increasing memory consumption of bokeh server (part 2)
      • #11479 [component: bokehjs] [BUG] MathText axis labels do not all render in multi-figure layouts
      • #11487 [component: tests] OpenURL's unit tests open popup windows
      • #11508 [component: bokehjs] [BUG] Log auto-scaling not showing all data
      • #11520 [BUG] The update() method is not equivalent to changing widget properties directly
      • #11551 [component: bokehjs] SVGRenderingContext2D.drawImage() doesn't respect clipping region
      • #11579 [BUG] Inconsistent handling of Title Text attributes
      • #11587 [component: bokehjs] Clip region is not applied to text in SVG backend
      • #11609 [component: examples] [BUG] Surface3d example is broken
      • #11610 [component: examples] [BUG] Server embed notebook issue
      • #11297 [component: bokehjs] Correctly initialize WebGL non-base marker/scatter glyphs
      • #11370 [component: bokehjs] Handle corner cases in LinearLinterpolationScale.v_compute()
      • #11536 [component: bokehjs] Reassign value on numeric_input high-low change only if needed
      • #11568 Fixing typo error 2
      • #11573 [component: server] Add version as request argument to extension to avoid browser caching
      • #11577 [component: docs] Better formatting for args lists in docstrings
      • #11600 Fix regexes for finding tex delimiter
    • features:

      • #657 Add support for plots in polar coordinates
      • #7317 [component: bokehjs] Add support for line breaks in Label
      • #9261 [component: bokehjs] [FEATURE]Make LegendItems Hideable
      • #10733 BOKEH_STRICT does not raise validation errors
      • #11007 [FEATURE] Add a min_exponent to only show axis labels as exponents for number higher than this exponent
      • #11095 [component: bokehjs] [FEATURE] Add consolidated RangeUpdate event
      • #11120 [component: bokehjs] [FEATURE]Add "maintain_focus" property to ZoomOutTool
      • #11266 [component: bokehjs] [FEATURE] Include toolbar in tab order
      • #11381 [component: docs] [FEATURE] bokeh-plot should parse ReST docstrings in example
      • #11423 [component: bokehjs] [FEATURE] visible property for TableColumns
      • #11548 [FEATURE] Make global_alpha of ImageRGBA an AlphaSpec
      • #11565 [component: server] URL printed in server startup log always assumes http protocol
      • #11098 [component: bokehjs] Implement all Webgl marker types
      • #11099 [component: tests] Allow to test against a provided git reference
      • #11128 [component: bokehjs] Latex on axis labels
      • #11159 [component: bokehjs] WebGL rect glyph with hatch pattern
      • #11165 Add support for embedding plots/layouts in tooltips
      • #11195 [component: tests] Collect performance metrics during integration tests
      • #11214 [component: bokehjs] Add support for toolbar's overflow menu
      • #11343 [component: bokehjs] WebGL markers and rects reuse arrays and buffers
      • #11420 [component: bokehjs] add latex capabilities to tick labels
      • #11466 add python conveniences to mathtext
      • #11511 Support xyzservices.TileProvider as an input of get_provider
      • #11533 Add support for alternative math text input notations
      • #11585 TeX on Markup widgets Div, Paragraph
    • tasks:

      • #8390 [component: bokehjs] Define a default muted glyph
      • #9329 [component: docs] Document bokeh.sampledata
      • #9671 [component: server] [FEATURE] Enable the Server to serve apps at sub urls like /gallery/image-classifier
      • #9961 [component: docs] Ref Docs need sidebar TOC
      • #10137 [component: docs] [BUG] Anchors in docs can be jumpy
      • #10287 Update to isort 5.7
      • #10391 [component: tests] Test legacy bundles before release
      • #10572 [component: build] [FEATURE] Bokeh Python Wheel packages
      • #10685 [component: docs] Move Bokeh docs to the latest version of pydata-sphinx-theme
      • #10796 [component: docs] Add default browser env var to docs
      • #10839 Drop Python 3.6
      • #10867 Simplify HasProps and MetaHasProps
      • #10877 Remove SRI integrity checks from js_resources.html template
      • #10932 Bring up branch-2.4
      • #10946 [component: docs] Automate python min-version and requirements in docs
      • #10950 Simplify HasProps and MetaHasProps (part 2)
      • #10980 [component: docs] Replace plot_width and plot_height with width and height
      • #11034 [component: bokehjs] [BUG] Palettes not accessible by name for ColorMapper objects in BokehJS
      • #11053 [component: build] Separate javascript bundle for WebGL
      • #11135 [component: docs] Fix collapsible code blocks
      • #11138 [BUG] Time for updating one column in a CDS depends on the total number of columns
      • #11142 [component: tests] Codebase test to validate versions.json
      • #11146 [component: bokehjs] json_items should report bokeh version
      • #11147 [component: docs] [BUG] Footer in 2.4 docs broken
      • #11166 Allow pathlib.Path wherever raw string paths are supported
      • #11184 Add width and height properties to gridplot()
      • #11211 [component: tests] [BUG] Conflicting test dependencies in downstream CI build
      • #11215 [component: docs] [BUG] Links to Line Properties gives 404 in user guide
      • #11221 [BUG] Use dataclasses for check validation
      • #11255 [component: build] Build deploy action also needs to check the branch
      • #11267 [component: docs] Update extension examples to import from top-level models
      • #11282 Document conda init in Getting Set Up
      • #11298 [component: build] [BUG] Release build env missing dependencies
      • #11301 [component: server] [BUG] Bokeh websocket connection creates large Sec-WebSocket-Protocol header
      • #11354 [component: docs] Update developer docs
      • #11392 address code issues flagged by lgtm
      • #11404 [component: bokehjs] Add ellipse() method to SVGRenderingContext2D
      • #11415 pandas future warning for commits.py
      • #11428 [component: docs] Reorganize bokeh.plotting in ref guide
      • #11483 Revert kwarg-only args for Theme
      • #11489 [component: docs] [FEATURE] Enhanced docstrings for gallery entries
      • #11505 Fix Bokeh version in CI Build step
      • #11515 [component: docs] Remove Wikimedia tile provider
      • #11574 [component: tests] Restore original values when manipulating os.environ in tests
      • #10861 Redesign WebGL backend using ReGL
      • #10930 Replace JS var with let/const across the codebase
      • #10961 [component: bokehjs] Upgrade to TS 4.2 and upgrade other dependencies
      • #10972 replaced old-style string substitution
      • #10979 [component: tests] Add dask/dask to downstream tests
      • #10987 Bryanv/2 3 1 forwardports
      • #11004 [component: build] Add support for incremental TypeScript builds
      • #11019 [component: tests] Improve speed by comparing whole buffers first
      • #11067 [component: docs] add latex extension example with mathjax
      • #11070 [component: bokehjs] Use premultiplied alpha in WebGL
      • #11072 [NO SQUASH] Forward ports to branch-2.4
      • #11073 [component: bokehjs] Drop unnecessary -webkit- prefixes from flexbox
      • #11078 Fix regressions after PR #10930
      • #11090 [component: bokehjs] Simplify rendering code with visuals.apply()
      • #11092 HasProps and misc cleanup
      • #11108 [component: bokehjs] Fix WebGL line regression
      • #11115 [NO SQUASH] Forward ports to branch-2.4
      • #11117 [component: docs] Fix python3 incompatible print in callback docs
      • #11134 [NO SQUASH] more ports from branch-2.3
      • #11140 [component: build] Remove all cyclic dependencies from bokehjs
      • #11145 [component: docs] More ref guide improvements
      • #11183 [component: tests] Additional visual tests for Legend annotation
      • #11187 [component: docs] Expand rst_epilog
      • #11189 [component: tests] Update baselines for Chromium 90
      • #11207 [component: tests] Include Dask testing dependencies in downstream CI
      • #11210 [NO SQUASH] remove black codebase check (#11208)
      • #11219 Use dataclasses in bokeh.io.state
      • #11220 Add support for lazy annotations boilerplate
      • #11224 Full typescript for WebGL code
      • #11225 Improve static typing in bokeh.command
      • #11237 [NO SQUASH] 2.3.2 forward ports
      • #11238 [component: bokehjs] Update to TS 4.3-dev and enable noImplicitOverride
      • #11246 [component: build] Update bokehjs' dependencies
      • #11252 [component: bokehjs] Fix webgl line alpha issues
      • #11262 [component: bokehjs] Move WebGLRenderingContext use to ReGL
      • #11272 [component: build] Upgrade TypeScript to 4.3-rc
      • #11277 [component: bokehjs] WebGL line glyphs reuse arrays and buffers
      • #11283 [component: bokehjs] Normalize string syntax across bokehjs
      • #11286 [component: docs] docs: fix code snippet in Label
      • #11289 [component: bokehjs] Allow div(element) instead of div({}, element)
      • #11290 Statically type various parts of bokeh
      • #11304 [component: docs] Update docs for BokehJS visual testing
      • #11314 [component: build] Upgrade to TS 4.3 and refresh package lock files
      • #11322 [component: docs] Add 'experimental' note to extensions chapter
      • #11325 Fix typo in AuthProvider._validate error message. login_url instead of logout_url
      • #11327 Fill-in missing __future__ imports for lazy annotations
      • #11329 Bump pillow from 8.1.1 to 8.2.0 in /docker-tools/debian
      • #11330 Statically type more of bokeh
      • #11332 Add return type annotation to __init__
      • #11337 Add tests for SVG exports
      • #11341 Statically type the return of json_item()
      • #11342 [component: build] Refresh bokehjs/package-lock.json
      • #11398 [component: docs] Add intro for categorical chapter
      • #11399 [component: tests] Increase session_token_expiration (test)
      • #11409 Bring up 2.3.x changes
      • #11417 Consolidate pip dependencies
      • #11419 Remove OrderedDict
      • #11443 [component: docs] Update wording around output_file()
      • #11454 Fix spec.py and cleanup scripts cruft
      • #11458 [component: tests] Iurypiva/testing svg draw image
      • #11459 [component: examples] Update file_input.py
      • #11463 Skip svg export test
      • #11465 [component: bokehjs] Simplify the SVG backend
      • #11467 [component: docs] Update to Sphinx 4.1
      • #11473 Remove test and extra sections from meta.yaml
      • #11482 Document Refs Cleanup (part 1)
      • #11485 Add panel to downstream tests
      • #11492 Document Refs Cleanup (part 2)
      • #11494 [component: bokehjs] Update bokehjs' bundle sizes and dependencies
      • #11495 [component: bokehjs] Properly test deferred rendering of MathText objects
      • #11497 Document Refs Cleanup (part 3)
      • #11499 Document Refs Cleanup (part 4)
      • #11502 Quick fix for CI version check issue
      • #11503 [component: build] Upgrade to TypeScript 4.4 RC
      • #11509 Update resources for pep440 dev versions
      • #11518 More modules under mypy
      • #11525 [component: build] Add bokehjs' mathjax bundle
      • #11532 [component: server] Allow extensions to modify applications in serve subcommand
      • #11534 [component: build] Upgrade TypeScript to version 4.4
      • #11535 Small Document fixes
      • #11544 [component: docs] Update docs for math notations (LaTeX and MathML)
      • #11559 [component: docs] Misc docs build changes
      • #11566 [component: build] Update baselines for Chrome 93
      • #11570 [component: examples] Add LaTeX axes examples
      • #11581 [component: docs] Fix typos, line breaks, and links
      • #11583 [component: examples] Add penguin dataset and example
      • #11584 [component: bokehjs] Mathstring conveniences for axis_labels and tick labels
      • #11586 [component: bokehjs] Add support for legend_{label,field,group} to bokehjs' Figure
      • #11590 [component: docs] udpate release notes
      • #11595 [component: bokehjs] Require space before blocks
      • #11597 Misc MyPy work
      • #11599 [component: docs] More 2.4 last minute docs
      • #11604 [component: docs] Add and update examples
  • v2.3.3 Changes

    July 07, 2021
    • bugfixes:

      • #11083 [component: bokehjs] [BUG] column ignores css class scrollable from version 2.3.0
      • #11110 [component: bokehjs] [BUG] Bad formatting of y axis labels with theme different from standard
      • #11161 [component: bokehjs] [BUG] Div model layout differences between bokeh 2.2.3 and 2.3.1
      • #11188 [component: bokehjs] [BUG] Layout regression in panel introduced by PR #11123
      • #11284 [component: bokehjs] Active tab should be in view on render
      • #11344 [component: bokehjs] [BUG] plot's height can not go below 600px with sizing_mode = 'stretch_both'
      • #11365 [component: bokehjs] [BUG] dropdown menu is hidden in multi choice, others are not
      • #11380 [component: bokehjs] [BUG] Extensions with package.json should fetch exact version from CDN
      • #11384 [component: server] [BUG] app_index.html is missing quotes in href attribute
    • tasks:

      • #11242 [component: docs] Simplify instructions for GOOGLE_API_KEY
      • #11377 Backport changes from 2.4 to 2.3.3
      • #11406 [component: docs] Bryanv/2 3 3 release notes
  • v2.3.2 Changes

    May 05, 2021
    • bugfixes:

      • #11169 [component: bokehjs] [BUG] Python callback triggered by SelectionGeometry event is slow compared to js equivalent
      • #11182 [component: bokehjs] [BUG] Forward slash is changed to %2F in link
      • #11203 [component: bokehjs] [BUG] Cannot clear active of RadiGroup
    • tasks:

      • #9636 Remove Black Formatting
      • #11175 Replace jinja2.Markup deprecated with Jinja 3.1
  • v2.3.1 Changes

    April 07, 2021
    • bugfixes:

      • #10822 DataModel is always serialized
      • #10887 [component: bokehjs] [BUG] FileInput cancel operation throws error
      • #10912 [component: bokehjs] [BUG] 'freehand_draw' is not in name space for tools
      • #10942 [component: examples] [BUG] Spectrogram example does not compile
      • #11000 [component: bokehjs] Make FuncTickFormatter always produce strings
      • #11006 [component: bokehjs] [BUG] Log axis exponents react differently when font size is defined in anything but px (e.g. pt)
      • #11026 [component: bokehjs] [BUG] Serialization of MessageSent document event includes all model references
      • #11028 [component: bokehjs] [BUG] Figure events raise errors in the presence of edit tools
      • #11029 [component: bokehjs] [BUG] DataModel warns about being registered multiple times
      • #11054 [component: bokehjs] [BUG] Invalid BBox of BoxSelection
      • #11057 [component: bokehjs] [BUG] Sizing mode example layout broken in docs
      • #11061 [component: bokehjs] [BUG] Tilerenderer snap_back path issue with setv
      • #11062 [component: bokehjs] [Bug] ColorPicker color not updated on selection
    • features:

      • #10569 [FEATURE] JupyterLab 3 dynamic extension loading
    • tasks:

      • #10888 [component: docs] [BUG] FileInput accept-type '.txt' file-extension filtering does not work as expected
      • #10897 [component: docs] Docs: remove reference of outdated 'nbserverproxy'
      • #10919 [component: docs] [BUG] Deprecate broken HSL objects
      • #10926 [component: docs] [BUG] BokehJS component default value not passing through
      • #10934 [component: docs] bokeh_releases needs to process files more carefully
      • #10941 Minor cleanup after PR #10939
      • #10943 [component: build] [BUG] Cloudfront invalidation error on full release
      • #10957 [component: build] Update versioneer version?
      • #11002 [component: docs] PolyAnnotation is missing from the user guide
      • #11013 [component: bokehjs] [FEATURE] BokehJS usage : documentation updates
      • #11097 [component: docs] Document new JLab install process
      • #11112 [component: build] Update build jobs for base OS update
      • #10953 [component: docs] Add information about Bokeh channel for installation
      • #10973 Add missing comma in example code
      • #10986 Bryanv/2 3 1 backports
      • #10997 [component: docs] Clarify explanation in First Steps 1
      • #11024 [component: bokehjs] Simplify rendering of Line and MultiLine glyphs
      • #11043 Backport: Simplify rendering of Line and MultiLine glyphs (#11024)
      • #11086 Fixed missing f in f-string
      • #11137 [component: docs] Release notes for 2.3.1
  • v2.3 Changes

    February 24, 2021
    • bugfixes:

      • #1426 Mixins have vectorized properties which doesn't make sense outside glyphs
      • #6781 HoverTool.renderers accept List(Renderer) but supports only List(GlyphRenderer)
      • #8489 [component: bokehjs] Graphical bugs with webgl and time series data with NaN points
      • #9951 [BUG] Impossible to use tuples as colors
      • #10136 [component: bokehjs] Arrows - 'white background' under the arrow
      • #10218 [component: server] [BUG] Periodic callback don't stop in Django
      • #10339 [component: tests] examples' tests fail because headless browser doesn't start in time
      • #10407 [component: bokehjs] [BUG] Select is not updated upon setting value after changing the options
      • #10411 [component: examples] [BUG] issues with latex_example_full
      • #10452 [component: bokehjs] [BUG] MultiChoice disabled attribute is not working
      • #10454 [component: bokehjs] LabelSet does not display with categorical coordinates
      • #10457 [component: bokehjs] [BUG]Reverse Y axis range with circle
      • #10458 [component: bokehjs] [BUG]multi_line doesn't support hover.
      • #10468 [component: bokehjs] [BUG] DateSlider and DateRangeSlider ignore format set to an instance of TickFormatter
      • #10481 [component: bokehjs] [BUG] Unable to use CustomJS callback on HoverTool with GraphRenderer
      • #10484 [component: docs] Typo in https://docs.bokeh.org/en/latest/docs/user_guide/embed.html#autoload-scripts
      • #10498 [component: bokehjs] [BUG] GridBox not rebuilt when changing cols or rows attributes
      • #10506 [component: bokehjs] [FEATURE] Hiding hex number from color swatch in hover tool
      • #10507 [component: bokehjs] [BUG] Cannot disable MultiSelect in 2.2.1
      • #10536 [component: server] Bad super call in "contexts.py"
      • #10541 [component: bokehjs] [BUG]Slope annotation is not drawn with gradient of 0
      • #10559 [component: bokehjs] [BUG] Modifying a tooltip may result in errors
      • #10575 [component: bokehjs] [BUG] Whiskers do not appear in categorical plots?
      • #10581 [component: docs] [BUG] Outdated example for CustomJSHover
      • #10589 [component: bokehjs] [BUG] multi_line is rendered incorrectly when used with a view with filters
      • #10594 [component: bokehjs] [BUG] Whiskers base have reduced precision
      • #10595 [component: docs] [BUG] Minor Typo in Gallery documentation.
      • #10603 [component: build] [BUG] 2.3.0dev2 introduced an erroneous dependency on "python_abi 3.9.* *_cp39"
      • #10604 [component: bokehjs] quote (') from networkx index node are translated to (')
      • #10611 [component: bokehjs] bokehjs' unit tests fail after recent changes
      • #10613 [component: docs] Add TOC to reference doc
      • #10643 [component: bokehjs] [BUG] 2.3.0dev5 - Using a widget as a parameter in its own js callback throws 'Maximum call stack size exceeded' on JS side
      • #10666 [component: bokehjs] [BUG] Webgl perf regressions in branch-2.3
      • #10668 [BUG] Warnings about integrity checks when using CDN resources with extension
      • #10670 [component: bokehjs] [BUG] PolyEditTool vertices are not redrawn on data source update
      • #10675 [component: bokehjs] [BUG] ScientificFormatter shows 0 as 0.000e+00
      • #10695 [component: bokehjs] [BUG] MultiChoice options covered up by DataTable
      • #10697 [component: bokehjs] [BUG] ScientificFormatter error formatting negative numbers
      • #10702 [component: bokehjs] [BUG] TextAreaInput value_input no change event detected
      • #10721 [component: build] CI is failing with ModuleNotFoundError: No module named 'bokeh'
      • #10725 [component: bokehjs] [BUG] SVG backend mirrors image in plot
      • #10738 [component: bokehjs] [BUG] MultiLine datetime precision loss
      • #10754 [component: bokehjs] [BUG] Hover indices broken
      • #10755 [component: bokehjs] Unequal length columns cause size mismatch error
      • #10784 [component: bokehjs] [FEATURE] Differential re-rendering of updated plots
      • #10809 [component: bokehjs] [BUG]figure labels missing after updating the CDS
      • #10819 [component: docs] [BUG] Example in LabelSet documentation doesn't seem to be correct
      • #10826 [component: bokehjs] SVG canvas doesn't implement ctx.fill(fill_rule)
      • #10837 [component: bokehjs] Public style/*/.d.ts are not robust enough for path mapping
      • #10841 [BUG] Ensure non-nullable properties in JS are validated in Python
      • #10851 [BUG] Layout regressions
      • #10852 [component: bokehjs] [BUG] Lasso tool does not render
      • #10853 [component: bokehjs] [BUG] Ajax and Server sent examples broken
      • #10855 [component: bokehjs] Only main glyphs has signals connected in GlyphRenderer
      • #10875 [component: docs] [BUG] Marker docs require updating
      • #10879 [component: docs] [BUG] Link to export_svg() in export.rst is broken
      • #10880 [BUG] ProxyToolbar.logo: expected a value of type str, got None
      • #10913 [BUG] Error while testing 2.3.0dev13 with Dask
      • #10924 [component: docs] [BUG]Custom Widget Example fails to load (2.3.0rc2)
      • #10647 [component: bokehjs] [Spinner] Avoid twice incrementation with laptop pad
      • #10701 Fix backwards compatibility alias for InspectTool
      • #10760 [component: tests] Manually quote arguments to npx
      • #10860 [component: bokehjs] Resolve IE compatibility issues
    • features:

      • #2230 [component: bokehjs] expose tap and hover tool hit radius
      • #3674 Add DataModel base class
      • #5618 [component: bokehjs] CategoricalColorMapper ColorBar
      • #5676 [component: bokehjs] Encode colors as 32 bit integers by default
      • #6835 [component: bokehjs] Vectorized Arrow Heads
      • #7845 Allow both tap and doubletap gestures with TapTool
      • #8169 [component: bokehjs] Line break in categorical axis labels
      • #8954 [component: bokehjs] Adding support for superscript exponents
      • #9169 [FEATURE] SVG export for gridplot
      • #9847 [component: bokehjs] Add support for ES module entrypoint
      • #9929 [component: bokehjs] Add hatch rendering to Box Annotation
      • #10203 [component: bokehjs] [FEATURE] line_dash vectorizable where appropriate
      • #10295 [component: bokehjs] [FEATURE] Let AutocompleteInput accept input not present in completion list
      • #10472 [component: bokehjs] [FEATURE] Auto-ranging in network graphs
      • #10505 [component: bokehjs] Add button_type with no border
      • #10576 [FEATURE] 'transparent' as an alias for rgba(0, 0, 0, 0)
      • #10599 [component: bokehjs] [BUG] BokehJS minimal example is not working
      • #10612 [component: bokehjs] Hovertool does not work for dynamically added glyphs
      • #10637 [component: bokehjs] Need "Edges" only inspected policy for graphs
      • #10662 [component: bokehjs] [FEATURE]Allow naming (title) of Tools
      • #10798 [component: server] [FEATURE] Support Tornado WebSocket compression on server
      • #10824 [component: bokehjs] Add Hatch Patterns for Glyphs
      • #10836 [component: bokehjs] [FEATURE] Add new star marker
      • #10323 [component: bokehjs] Add support for smooth curve glyphs
      • #10493 Accurate color bar ticking with eqhist mapping
      • #10624 [component: bokehjs] Auto-generate index.ts based on tsconfig's input patterns
      • #10640 Implement grad and turn CSS-based angle units
      • #10734 [component: bokehjs] Add support for Less/CSS to extensions
      • #10847 [component: bokehjs] Add star marker - webgl extension
    • tasks:

      • #8260 [component: tests] Strict "image diff" selenium tests
      • #9007 [component: docs] [DOCS] Add mention of Themes to "Styling Visual Attributes" docs page
      • #9297 [component: bokehjs] Relese dev npm packages along conda packages
      • #9341 [component: build] Archive release artifacts
      • #9858 [component: bokehjs] Publish prerelease npm packages under dev tag
      • #9910 Remove Explicit Marker Models
      • #9958 [BUG] Better warn about passing source in the CustomJSFilter args dict for 2.0 and above
      • #10224 Rename main branch
      • #10333 bokeh build includes copyright statement from Anaconda in my bokeh extension
      • #10341 [component: docs] Developer Docs have outdated info on @gen.coroutine decorator
      • #10343 [component: bokehjs] Upgrade to TypeScript 4.0
      • #10413 marker_compare.py does not exercise webgl
      • #10420 Delete old pypi packages at anaconda.org?
      • #10461 [BUG] Chrome driver fails on WSL2 Ubuntu 18 (and other containerized environments)
      • #10465 [component: docs] [TASK?] docs/{release,installation}.rst have empty toctrees, which can be removed
      • #10467 [component: docs] Redundant TOC in developer documentation can be removed
      • #10473 [component: docs] Add link to community page on all websites
      • #10486 [component: docs] Add check for GOOGLE_API_KEY in conf.py
      • #10508 [component: bokehjs] Improve support icon only button by removing space
      • #10514 [component: tests] Win / Python 3.8 CI job failing
      • #10539 [component: docs] Help requested: Apply writing style guidelines to docs
      • #10551 [component: docs] Missing /y option in windows make.bat slows down docs build
      • #10614 [component: docs] Storing static PNG for OpenGraph
      • #10628 [component: docs] Reference guide should display property defaults
      • #10667 [component: docs] Cross reference user guide widgets examples to reference guide
      • #10671 [component: docs] Unclear which Events on_event is compatible with
      • #10673 [component: bokehjs] Unintended (?) changes to package(-lock).json
      • #10728 [component: docs] [FEATURE] Linting for docs
      • #10744 [component: docs] [BUG] Stamen Images Broken in Documentation in Chrome
      • #10748 [component: docs] [BUG] DataTable documentation suggestions
      • #10783 [component: examples] [FEATURE] boxplot.py example: improve performance for larger datasets
      • #10803 [component: build] conda warnings from bokeh-ci workflow
      • #10863 [component: server] [BUG] bokeh.client max nessage size not configurable
      • #10883 [component: bokehjs] Update GMAP to use an unretired version of the javascipt api
      • #10895 [component: docs] Document new types of color types and color arrays
      • #10906 [component: docs] [BUG] hbar_stack example in documentation does not work
      • #10908 [component: docs] [BUG] Update server.rst - "acme:com"?
      • #10935 Dask compat issues w/ nullable
      • #10433 [component: bokehjs] Migrate property definitions to use kinds
      • #10450 [component: bokehjs] Miscellaneous refactorings in bokehjs
      • #10469 [component: bokehjs] bokehjs development workflow improvements
      • #10483 [component: docs] Add CoC information in documentation site
      • #10491 [component: bokehjs] Split off range management code from PlotCanvas
      • #10492 [component: bokehjs] Strictly type View.serializable_state()
      • #10495 [component: tests] AutocompleteInput: add more tests
      • #10500 [component: docs] Add style guidlines and refactor
      • #10519 [component: docs] Restructure documentation landing page
      • #10520 [component: docs] Improve inline/link colors for docs
      • #10528 [component: docs] removed outdated CI instructions
      • #10532 [component: docs] [Docs] Fix display of example boxes on very small screens
      • #10537 [component: bokehjs] Factor out code from PlotView
      • #10549 [component: docs] Annotation docs edits
      • #10550 [component: build] Test on Python 3.9 in CI
      • #10554 [component: tests] Pin pytest 6.0*
      • #10556 [component: docs] Task #10539: Jupyter notebook edits
      • #10562 [component: docs] #10539 layout.rst
      • #10563 [component: docs] 10539 bokehjs.rst doc edit
      • #10565 [component: docs] 10539 export.rst doc edit
      • #10579 [component: docs] #10539 graph.rst doc edit
      • #10591 [component: bokehjs] Improve bokehjs' code quality (part 0)
      • #10592 [component: bokehjs] Clean up usage of requestAnimationFrame
      • #10597 [component: docs] #10539 categorical.rst doc edit
      • #10598 [component: docs] Switch sphinx-panels from pip to conda
      • #10602 [component: bokehjs] Redesign how serialization works in bokehjs
      • #10605 [component: docs] #10539 compat.rst
      • #10610 [component: docs] #10539 geo.rst doc edit
      • #10616 [component: docs] Add OpenGraph metadata to docs
      • #10618 [component: bokehjs] Implement views for arrow head models
      • #10625 [component: docs] align webgl.rst with style guide, task #10539
      • #10632 [component: docs] #10539 applied style writing guidelines to tools.rst
      • #10633 [component: docs] Fix new sphinx issue with bokeh.palettes
      • #10634 [component: bokehjs] Update bokehjs' dependencies
      • #10646 [component: bokehjs] Use the correct variant of hasOwnProperty check
      • #10650 [component: bokehjs] Upgrade to TypeScript 4.1 RC
      • #10653 [component: bokehjs] Split visuals into scalar and vector
      • #10655 [component: bokehjs] Unify initialization of visuals and data
      • #10660 [component: docs] Update glossary
      • #10665 [component: docs] Add new first steps guide to replace quickstart
      • #10679 [component: docs] #10539 embed.rst
      • #10681 [component: bokehjs] Add an actual webgl backend test
      • #10682 [component: docs] #10539 extensions.rst
      • #10696 [component: docs] Update data.rst
      • #10699 [component: build] Migrate CI {goanpeca->conda-incubator}/setup-miniconda
      • #10707 [component: bokehjs] Detect dependency cycles in build and fix existing cycles
      • #10708 [component: bokehjs] Upgrade to TypeScript 4.1 and upgrade other dependencies
      • #10729 [component: docs] Edit first steps guides
      • #10730 [component: bokehjs] Add support for publishing npm packages
      • #10732 [component: bokehjs] Redesign inclusion of CSS modules into bokehjs
      • #10759 [component: bokehjs] Upgrade to Chrome/Chromium browser 87.x
      • #10764 [component: bokehjs] Add visual tests for Legend annotation
      • #10766 [component: docs] 10539 plotting.rst
      • #10779 [component: bokehjs] Redesign ColorBar in terms of the layout
      • #10791 [component: docs] 10539 server.rst
      • #10815 [component: bokehjs] Replace CSS based font metrics with canvas based
      • #10823 [component: docs] Remove Vale
      • #10829 [component: docs] Fix minor typos and inconsistencies
      • #10832 [component: docs] Update concepts.rst and cli.rst
      • #10835 [component: bokehjs] Infer viewport size in bokehjs integration tests
      • #10843 Update copyright dates and bokehjs' license
      • #10848 [component: docs] Incorrect Example updated
      • #10862 Add Bokeh8 palette
      • #10865 [component: bokehjs] Miscellaneous bokehjs build changes
      • #10873 [component: docs] Update URL for numpy intersphinx inventory
      • #10922 [component: bokehjs] Fix LogAxis' labels under rotation and add tests
      • #10923 [component: bokehjs] Bump minimum nodejs version to 14+
      • #10933 [component: docs] add 2.3 release notes
  • v2.2.3 Changes

    October 19, 2020
    • bugfixes:
      • #10488 [component: bokehjs] In python3, rectangle does not appear when x axis is type datetime
  • v2.2.2 Changes

    October 12, 2020
    • bugfixes:

      • #10453 [component: server] [BUG] KeyError when display certain glyphs on the server
      • #10521 [component: bokehjs] Selectively update data when CDSView changes
    • tasks:

      • #10451 [component: bokehjs] Update bokehjs' dependencies
  • v2.2.1 Changes

    August 31, 2020
    • bugfixes:
      • #10426 [component: bokehjs] INLINE_LEGACY does not work (CDN.legacy = True does work)
      • #10431 [component: server] [BUG] pull_session not working in Win10 without this import statement: 'from bokeh.server.server import Server'
      • #10434 Bokeh not embedding plot in Django app sea_surface example [BUG]
      • #10435 [BUG] Regression causing multiple js_on_event subscribers to be ignored
      • #10443 [BUG] incorrect Plot._check_bad_extra_range_name
      • #10448 [component: bokehjs] DataTable DateFormatter does not handle NaT
  • v2.2 Changes

    August 24, 2020
    • bugfixes:

      • #5589 Some WebGL not working on Safari
      • #6775 [component: bokehjs] SVG backend not correctly coloring glyphs in legends
      • #7707 [component: bokehjs] Linking the ranges of plots will break the LODEnd event
      • #8046 [component: bokehjs] Extra whitespace with SVG export
      • #8446 [component: bokehjs] SVG not displaying scatter output
      • #8744 [component: bokehjs] Plots containing arrows fail to render correctly with svg output backend.
      • #9001 [component: bokehjs] hatch_pattern and svg
      • #9213 [component: bokehjs] Svg backend cannot draw annular_wedge correctly [BUG]
      • #9436 [component: bokehjs] [BUG] Arrow glyph does not update
      • #9551 [component: bokehjs] [BUG] export_svg shifting x-axis upward and overlapping with ticks in Bokeh v1.4
      • #9927 [component: bokehjs] [BUG] MultiChoice displayed value is not updating
      • #10002 [component: bokehjs] Bokeh not rendering, stuck on Loading BokehJS [BUG]
      • #10108 webdriver failing to find installed firefox/geckodriver
      • #10146 [BUG] js_on_event doesn't work when used in a callback
      • #10147 [component: bokehjs] [BUG] TileRenderer ignores the visible property
      • #10153 [component: bokehjs] [BUG] Typed Arrays returned as dicts
      • #10164 custom latex examples do not run
      • #10174 [BUG] Incorrect type of Select.options
      • #10191 [component: bokehjs] [BUG] Tools in toolbar flickering and occasionally ignores clicks when HoverTool and hover glyph used
      • #10193 [component: bokehjs] [BUG] GeoJSONDataSource incorrectly processes MultiPolygon geometry type
      • #10195 [component: bokehjs] [BUG] visual glitch on empty plots with a second y-axis
      • #10215 [component: bokehjs] [BUG] Band is not updated when the model is changed
      • #10219 [component: bokehjs] [BUG] Misplaced Rects when using incomplete categorical ranges
      • #10233 [component: bokehjs] [BUG] bokeh js v2.x legacy libraries
      • #10246 [component: bokehjs] [BUG] wegbl and gridplot with a visible=False element
      • #10249 [component: bokehjs] [BUG] SaveTool generates smaller image than plot
      • #10251 [component: bokehjs] [BUG] DataTable column sort not working with NaNs
      • #10273 [BUG] export_svgs() function creats two files (one is empty)
      • #10281 [component: bokehjs] [BUG] line selection is broken
      • #10301 [component: bokehjs] bokehjs' version has duplicated dev suffix
      • #10302 [component: bokehjs] [BUG] Slider values increment by 2x steps
      • #10305 [component: bokehjs] SVG backend doesn't respect NaN/non-finite values
      • #10319 [component: bokehjs] [BUG] $name not being passed to hovertool for image plots
      • #10320 [component: bokehjs] Plotting with transforms behavior change
      • #10324 [component: bokehjs] Image Hover is broken
      • #10334 [component: bokehjs] Chrome 84 breaks toolbar rendering
      • #10336 [BUG] bokeh.embed.components outputs escaped javascript
      • #10358 [component: bokehjs] [BUG] slickgrid import has syntax error
      • #10361 [component: bokehjs] Autoload with widgets fails if earlier autoload does not specify widgets
      • #10362 [component: bokehjs] [BUG] If axis label is added/removed, the layout is not changed right away
      • #10365 [component: bokehjs] Tooltip chooses wrong side in grid plots
      • #10367 [component: bokehjs] [BUG] NumericInput and Spinner several bugs
      • #10370 [component: bokehjs] ImageURL doesn't respect anchor property when computing bounds
      • #10394 [component: bokehjs] [BUG] Can't add tabs after closing a tab
      • #10409 [component: examples] Spectrogram is broken
      • #10412 [component: bokehjs] [BUG] server_session is completely broken
      • #10238 [component: docs] Fix windows docs build issues
      • #10244 [component: bokehjs] Handle type="module" w/o entry point packages
      • #10271 fix over-quoting by components
      • #10378 [component: bokehjs] Distinguish raw strings from HTML in replace_placeholders()
    • features:

      • #3653 [component: server] Use a different error for "can't open socket" vs "404"
      • #6864 [component: bokehjs] DataTable autoEdit expose
      • #8595 [component: bokehjs] [Feature request] Allow DataTable to take its natural height
      • #8924 [component: bokehjs] Allow to derive ColorBar's low/high from data
      • #9169 [FEATURE] SVG export for gridplot
      • #9654 [FEATURE] Iterate over submodels of a model and draw submodel graph
      • #9956 [component: bokehjs] [FEATURE] varea_stack support in bokehjs
      • #10179 [component: bokehjs] [FEATURE] Allow any number in spinner using step=None
      • #10265 [FEATURE] Add a DocumentReady event
      • #10374 [FEATURE] Allow defining custom format for NaNs in DataTable NumberFormatter
      • #10066 [component: bokehjs] Add support for copying canvas to clipboard
      • #10353 Enhancements for DataTable
    • tasks:

      • #10083 [component: bokehjs] bokehjs needs a better assertion framework
      • #10086 [component: tests] Restore BokehJS linting
      • #10089 [component: bokehjs] Simplify/refactor filters in bokehjs
      • #10207 Need to run CI on release branches
      • #10209 [component: bokehjs] Naming for new coordinate systems
      • #10213 [component: build] Issues / Changelog script will need update
      • #10234 [component: bokehjs] Improve responsiveness when hovering over many points
      • #10252 Deprecate Oval?
      • #10282 [component: docs] Update blog links on all websites to point to Medium
      • #10283 [component: docs] Contributing guide needs updating wrt. BEP 6
      • #10284 [component: tests] [BUG] Housekeeping: remove documentation references to py.test
      • #10289 Housekeeping: Update python idioms
      • #10306 [BUG] cElementTree has been deprecated and will be removed in favor of ElementTree
      • #10310 [component: docs] [BUG] Link in docs is not working for fill color property
      • #10329 [component: bokehjs] Change NumberArray to Float32Array?
      • #10344 [component: docs] Documentation and examples updates for 2.2 release
      • #10347 [component: docs] Adding links to BEP 6 and BEP landing page to developer docs
      • #10397 [component: docs] Color site for OpenURL no longer exists
      • #10161 [component: bokehjs] Redefine min()/max() and introduce minmax() function
      • #10162 [component: bokehjs] Reduce memory footprint of data indexing
      • #10163 [component: bokehjs] Don't sort indices by distance in _hit_point()
      • #10176 [component: bokehjs] Ensure typed arrays are used for storing numerical data
      • #10185 [component: bokehjs] Fill in the gaps in bokehjs' property definitions
      • #10187 [component: docs] Fix typo in docs.
      • #10200 [component: bokehjs] PlotLayout -> core.layout.BorderLayout
      • #10201 [component: bokehjs] Drop layout's computed variables in favour of bbox
      • #10202 [component: bokehjs] A basis for sub-coordinate systems
      • #10208 [component: bokehjs] Rewrite gloo in TypeScript and add it to bokehjs
      • #10222 [component: build] Fixes for sphinx 3.1.1
      • #10225 [component: bokehjs] Improve performance by replacing _build_discontinuous_regions()
      • #10226 [component: bokehjs] Optimize HasProps.setv(attrs, {silent: true})
      • #10227 Forward merge from 2.1.1
      • #10229 [component: bokehjs] Redesign the implementation of CDSView's filters
      • #10235 [component: bokehjs] Redesign "materialization" of data specs
      • #10239 [component: build] Release Automation (pt 1)
      • #10240 [component: bokehjs] Corrected EqHistColorMapper with inverted colormap edge transform
      • #10241 [component: bokehjs] Allow to resize images in visual tests
      • #10257 [component: docs] Misc warnings cleanup
      • #10260 [component: docs] #8448 Fix typo "do no yet work" -> "do not yet work" in bokeh/sphinx/source/docs/user_guide/interaction/legends.rst
      • #10262 [component: bokehjs] Bump electron from 1.8.8 to 9.1.0 in /bokehjs/examples/electron
      • #10269 [component: docs] Fix typos in User Guide
      • #10272 [component: bokehjs] Improve performance of selections
      • #10275 [component: docs] Fix minor typos
      • #10277 [component: docs] Docs change anaconda install source
      • #10298 Add bokeh logo palette; remove rogue double-quote from template
      • #10304 [component: docs] Add note about nginx large_client_header_buffers to docs
      • #10315 [component: bokehjs] Bump lodash from 4.17.15 to 4.17.19 in /bokehjs
      • #10316 [component: server] Require auth on WSHandler
      • #10330 [component: bokehjs] Initial webgl cleanup
      • #10337 [component: docs] Fix typos in Dev Guide
      • #10338 [component: bokehjs] Replace for-in loop with for-of and keys()/values()/entries()
      • #10342 [component: bokehjs] Update bokehjs/package.json
      • #10346 [component: tests] Perform eslint checks on codebase tests
      • #10348 [component: bokehjs] Upgrade to SlickGrid 2.4.27
      • #10350 [component: bokehjs] Fix bokehjs' legacy bundles
      • #10352 Rev pillow version for sec advisory
      • #10354 [component: bokehjs] Code dupe experiements
      • #10357 [component: docs] Update out of date HoverTool docstring
      • #10363 [component: bokehjs] Modernized DataTable styling
      • #10393 [component: tests] Mark webdriver's tests as flaky
      • #10402 [component: bokehjs] Redesign SVG backen
  • v2.1.1 Changes

    August 18, 2020
    • bugfixes:
      • #10172 [component: bokehjs] [BUG] Can't resolve 'styles/annotations.css' when importing BokehJS
      • #10175 [component: server] [BUG] Serve application at random port failed
      • #10181 [BUG] Unable to set LabelSet.text_align with bokeh serve
      • #10197 [BUG] Can't select bar_line_color in ColorBar
      • #10204 [component: bokehjs] return typed arrays as lists
    • tasks:
      • #10212 [component: docs] Release notes for 2.1.1