Changelog
### 3.0.2
```
--------------------
* bugfixes:
- 4930 interaction between tooltips and gridplots
- 12429 [component: bokehjs] [BUG] Line selection does not render the unselected end line segments
- 12531 [component: bokehjs] [BUG] latex in titles - upright characters that should be italic
- 12551 [component: tests] bokehjs' unit tests fail on chromium 107
- 12554 [component: docs] Custom.js needs update for switcher
- 12578 [component: bokehjs] [BUG] gridplot reset button does not reset all figures
- 12585 [component: bokehjs] [BUG] line_policy='none' for HoverTool does not generate any tooltip
- 12587 [component: server] [BUG] Don't delete importlib.metadata in __init__.py
- 12593 [BUG] Guard numpy.typing.ArrayType with `if TYPE_CHECKING`
* tasks:
- 12557 [component: docs] Need automation for updating switcher.json
- 12560 [FEATURE] remove mock
- 12562 [BUG] Tests: "python" is not a guaranteed executable
- 12566 [component: docs] Fix dates and typo in release docs for 3.0.0/3.0.1
- 12569 [component: build] Add Python 3.11 to CI
- 12571 [component: tests] Remove flaky from integration tests
- 12573 [component: tests] Add a regression test for issue 4888
- 12579 Upgrade to mypy 0.990
- 12581 Disable Selenium integration tests for now
- 12597 Backports for 3.0.2
- 12600 Updates for 3.0.2
```
### 3.0.1
```
--------------------
* bugfixes:
- 12537 [BUG] ImportError: cannot import name 'NotRequired' from 'typing_extensions'
* tasks:
- 12528 [component: docs] Update tutorial link
- 12533 [component: examples] [BUG] Units in blackbody example should be upright
- 12525 [component: examples] Added metadata to bokeh\examples\plotting\checkout_form.py
- 12539 [component: build] Remove runtime dependency on typing_extensions
- 12546 [component: examples] Apply blackbody example label edits (12534) to the ts example as well
```
### 3.0
```
--------------------
* bugfixes:
- 5046 Webgl problem in stream app with multiple glyphs
- 6669 [component: bokehjs] BoxAnnotation does not appear to handle formal NumberSpec
- 8168 [component: bokehjs] Strange behavior with BoxSelectTool when click+dragging on toolbar
- 8332 [component: bokehjs] Autohide toolbar quirks
- 8346 [component: bokehjs] update datasource cause error with webgl backend
- 8469 Modifying a child element in a tab causes the whole tab to rerender
- 8531 [component: bokehjs] Save tool in gridplot initiates multiple downloads
- 8684 Allow at least partial alignment of fixed sized frames
- 9113 [component: bokehjs] Empty group widgets don't size properly once populated
- 9133 [BUG] Tabs ignore explicitly set dimensions
- 9208 [component: bokehjs] [BUG] sizing_mode='stretch_width' makes plot too wide if scrollbar is showing
- 9320 [BUG] Bokeh rendering performance
- 9448 [component: bokehjs] [BUG] Google Fonts not loading on Glyph on standalone HTML until interacting with Glyph
- 9744 [component: bokehjs] [BUG] bokeh server layout overlap on toggle visibility
- 9763 [BUG] `gridplot` `merge_tools` removes distinct tools it thinks are repeated, e.g., `xpan` and `ypan`
- 9764 [component: bokehjs] [BUG] MultiChoice placeholder text not displayed
- 9992 [component: bokehjs] [BUG] Select widget hiding tabs, when selecting a plot
- 10125 [component: bokehjs] [BUG] widgets overlap each other
- 10183 [component: server] [BUG] Processing of HTTP request arguments (server_document) and num-procs > 1
- 10355 [component: bokehjs] [BUG] Toolbar cropped when using tabbed auto-width
- 10377 [component: docs] Documentation examples produce inconsistently named output files
- 10621 [component: bokehjs] [BUG] [MINOR] 2.3.0dev3, plot's inner_width property always sent on redraw even if unchanged
- 10804 [BUG] export does not respect current theme
- 11033 [component: bokehjs] [BUG] add_layout(LinearAxis) in click handler crashes client
- 11116 [component: bokehjs] [BUG] ColorBars do not update when their properties are updated
- 11205 [component: bokehjs] [BUG] Hover tooltip breaks with full-circle wedge
- 11339 [BUG] Toggling layout's visibility results with overlapping widgets
- 11462 [component: bokehjs] [BUG] Existing ColorBar tick-digits don't react to theme changes
- 11475 [component: bokehjs] [BUG] SVG export breaks for Wedges
- 11623 [BUG] Placement of toolbar location is broken for gridplots
- 11643 Refs are not resolved in data models' default values
- 11673 [component: bokehjs] [BUG] JavaScript error when setting LabelSet text to None
- 11694 Custom extension breaks with id as key in a dict param
- 11750 [component: bokehjs] [BUG] Hover tool takes long time to render (-> 11629)
- 11770 [component: bokehjs] [BUG] Linking an axis range can lead to other axis range autoscaling improperly
- 11776 [component: bokehjs] Dynamically changing the color palette of a color mapper
- 11803 [component: bokehjs] [BUG] Message containing ModelChangeEvents for all properties sent back to server on initialization
- 11822 [component: tests] Tests using headless chrome are completely broken
- 11838 [component: bokehjs] [BUG] incorrect scalling for the zoom-out tool
- 11839 [BUG] PanTool can't be deactivated in grid plot
- 11877 [component: bokehjs] ImageURL blinks when the datasource updated
- 11930 [BUG] major_label_overrides are not applied if the overrides are float but the original labels are int
- 11946 [component: bokehjs] Re-rendering a layout causes menus to be removed from DOM
- 11963 [BUG] Option groups of the Select widget are sorted
- 11981 [component: build] BokehJS build failing in release CI
- 11985 [component: docs] Docs Search results are messed up
- 11999 [component: bokehjs] Rendering happens on every mouse move with inspections enabled
- 12001 [component: bokehjs] [BUG] Failure of push_notebook() to update colormapper of a colorbar
- 12033 [component: bokehjs] [BUG] Incorrect handling of step by DateRangeSlider
- 12047 [BUG] Jumpy scroll on mobile
- 12080 [BUG] examples/plotting/file/image.py no longer works
- 12101 [component: docs] Misplaces BokehJS Sphinx embeds
- 12115 [component: bokehjs] [FEATURE] Expose itemSelectText option on the MultiChoice widget
- 12123 [BUG] Allow to extend vertically a TextAreaInput
- 12127 [component: bokehjs] [BUG] LabelSet doesn't check type for text
- 12133 [component: docs] Docs are missing GA code
- 12142 [component: bokehjs] [BUG] Mathjax 3.2.1 breaks Bokeh
- 12145 [component: examples] [BUG] Examples/Apps/Stocks has broken URL
- 12150 [component: docs] Links for download badges in readme don't go anywhere
- 12155 [component: bokehjs] [BUG] Inlined RadioGroup widget doesn't extend enough horizontally
- 12162 [component: bokehjs] [BUG] step(mode="center", ...) renders incorrectly on canvas if coordinates contain NaN
- 12176 [component: examples] [BUG] examples/app/gaminder: year 2013 (the latest year in the data set) is not presented in the Gapminder visualization
- 12204 [component: bokehjs] [BUG] Setting datatable selectable to False leads to an error when trying to sort
- 12205 [component: bokehjs] [BUG] Div with stretch_width doesn't stretch
- 12207 [component: bokehjs] [BUG] image_rgba selection
- 12232 [BUG] Bokeh 3.0.0 cannot serialize Pandas Dataframe
- 12238 Many hidden type errors due to wrong mypy config
- 12250 [BUG] ContourColorBar does not support theme
- 12280 [component: bokehjs] [BUG] Combine alpha values by multiplying together
- 12313 [BUG] range no longer works with ColumnDataSource
- 12357 [component: bokehjs] [BUG] webgl breaks shared brushing
- 12361 [component: bokehjs] [BUG] Canvas backend doesn't always render marker vector line_width correctly
- 12378 [component: docs] [BUG] Links in "First steps" documentation all broken
- 12386 [component: docs] python/js reported version mismatch
- 12404 [component: examples] Jitter example is broken
- 12405 [component: bokehjs] gridplot examples layouts are broken
- 12412 [component: bokehjs] [BUG] Canvas step glyph sometimes renders with incorrect alpha
- 12416 [component: docs] Custom extension examples not rendering
- 12418 [component: bokehjs] Lasso overlay is broken
- 12447 [component: bokehjs] Toolbar interferes with tooltip
- 12448 [component: bokehjs] `GridPlot` needs better defaults for rows/cols sizing
- 12453 [component: bokehjs] Sizing mode example is broken
- 12456 [component: bokehjs] DOM drag/selection issue
- 12462 [component: docs] [BUG] Sphinx warnings while building documentation
- 12465 [component: bokehjs] [BUG] DataTable cell content gets overprinted if DataTable is used within a TabPanel
- 12479 [component: bokehjs] [BUG] Figure p in column(gridplot([[p]])) not rendered when adding another figure like this: column(p, gridplot([[p]]))
- 12494 [component: examples] Ion slider extension example broken
- 12506 ContourRenderer disregards line_color=None
- 11717 [component: bokehjs] Fix bokehjs normally distributed random numbers
- 11821 Update branches in CI workflow configurations
- 11928 [component: bokehjs] Fix gmaps' support and remove special handling
- 11932 [component: build] Update versions of all packages in `package-lock.json`
- 11959 Discover unstable defaults in `HasProps.__init__()`
- 11986 [component: build] Fix `package-lock.json` and `update_bokehjs_versions()`
- 12057 [component: bokehjs] Robustify initialization of ndarrays
- 12067 [component: bokehjs] Don't excessively check if fonts were loaded
- 12174 [component: bokehjs] Fix canvas rendering of step glyph containing NaN
- 12196 [component: bokehjs] Remove id attribute of bk-root after plotting
- 12248 [component: bokehjs] Hide lower colors and labels when using EqHist rescale_discrete_levels
- 12265 [component: docs] Pin sphinx to version >=5,<5.1
- 12285 Split up too long lines after flake8 upgrade
- 12289 [component: docs] grammatically updated the tech docs
- 12330 [component: tests] Improve compatibility with Python 3.10.6 in tests
- 12344 [component: tests] Fix flake8 bokeh -> src/bokeh after PR 12338
- 12362 [component: bokehjs] Fix WebGL rendering of marker with size 0
- 12520 [component: docs] Restore strict docs build
* features:
- 1666 [component: bokehjs] Flip images when ranges are reversed
- 1763 [component: bokehjs] Support anchor property for Image and ImageRGBA
- 3799 Linked Crosshair
- 3819 Toolbar Improvements: Make tools independent of bar
- 4371 [component: bokehjs] Plot.y_range / Plot.x_range initial start/end values not set
- 4403 Better defaults for resize event
- 4568 [component: bokehjs] Allow active specification on gridplot toolbar
- 4698 [component: bokehjs] Feature: Add "dbl-click to reset zoom" on BoxZoomTool
- 4817 layout vertical alignment with buttons
- 5135 [component: bokehjs] Pan and Zoom tools should be configurable (limit to x or y axis only) via UI
- 5241 x_axis_type not in fuzzy matching for figure args
- 6031 Latex axis and title labels
- 6372 [component: docs] Add signatures to model objects
- 8360 Add a Figure.contour method
- 8364 Autohide toolbar should work with gridplot
- 8727 [component: bokehjs] Tooltip on widgets
- 8847 [component: bokehjs] RadioButtonGroup orientation vertical
- 9086 [component: server] [FEATURE] add favicon support to Bokeh server
- 9498 [FEATURE] Bokeh Sizing mode that inherits from parent
- 9518 [component: bokehjs] Allow binary data, streaming and patching outside data sources
- 9552 [component: bokehjs] [FEATURE] Placeholder text for FileInput
- 9920 [component: bokehjs] Set themes using bokehjs
- 9935 [component: bokehjs] Add context formatter option to DatetimeTickFormatter
- 10533 [component: bokehjs] [FEATURE] Add x-box-select & y-box-select specific icons.
- 10914 [component: bokehjs] [FEATURE] Add custom_tooltip and custom_icon to all tools (not implemented in SelectTools)
- 10990 Add style attribute to all widgets
- 11500 [FEATURE] Support xyzservices in basemap tiles
- 11596 Allow data models to inherit from non data models
- 11638 [component: bokehjs] [FEATURE] MultiChoice widget sorts options by default
- 11704 [FEATURE] Include glyph sizing in plot range calculations
- 11806 [component: bokehjs] [FEATURE] Add function to get adjacent nodes by selecting node.
- 11881 [FEATURE] Expose a file name parameter in SaveTool
- 11908 [FEATURE] remove_tools() function for plots
- 12066 [component: docs] [FEATURE] Link documented sampledata to standalone example
- 12089 [component: server] [FEATURE] Make bokeh server listen to unix socket
- 12171 [component: bokehjs] [FEATURE] Batch rendering of many glyphs on the same plot
- 12179 [FEATURE] Add support for text outlines with annotations
- 12181 [component: bokehjs] [FEATURE] Allow `embed_item` to optionally take an element instead of an ID
- 12272 [FEATURE] Allow AutocompleteInput min_characters=0
- 12273 [component: bokehjs] [FEATURE] Box_Zoom_Tool that allows zooming in only width, height, or both dimensions in one tool
- 12438 [FEATURE] Add a parameter to limit the number of completion strings displayed by `AutocompleteInput`
- 11122 Add support for basic glyph decorations
- 11639 [component: bokehjs] Various bokehjs API improvements and new examples
- 11697 [component: bokehjs] Expose plotting subcoordinates API in bokehjs
- 11842 [component: bokehjs] Add block glyph
- 11871 [component: bokehjs] Implement a bokehjs development/diagnostics tool
- 11926 Allow to place toolbars inside the frame
- 11933 Add support for a checkbox-like Switch widget
- 12020 Add contouring
- 12030 Add support for `np.array(..., dtype="bool")`
- 12054 Generalize filtering on CDS views
- 12213 [component: bokehjs] Add ColorBar.display_low and display_high
- 12244 [component: bokehjs] Add support for cross bounds to grid lines
- 12263 varying_alpha_palette helper function
- 12268 [component: tests] Add support for async `expect().to.throw()`
- 12270 [component: bokehjs] Allow to stop throttled functions
- 12271 Add parameterized `NonNegative` and `Positive` properties
- 12276 Introduce `canvas` coordinate units to remove `for_hover`, etc.
- 12329 [component: server] Provide method to modify Server before start
- 12467 [component: docs] Tabbed gallery
- 12473 [component: docs] Add server examples to main gallery
* tasks:
- 4388 [component: tests] Missing layout tests
- 5653 [component: tests] Add tests to ensure server events do not boomerang client-side
- 6339 Use js Map instead of plain objects for properties like ColumnDataSource.data
- 6574 [component: examples] Add more examples to bokehjs
- 6591 [component: docs] Make it clear which annotations can and can not be preserved with save tool
- 8188 [component: examples] Example app "dashboard" unsuccessful on wide screen
- 8458 Simplify the JSON representation
- 9731 Drop support for legacy web browsers
- 9757 [component: bokehjs] Investigate using shadow DOM to gain proper isolation
- 9907 Improve Auth Request Handler hierarchy
- 10007 [BUG] Importing bokeh is VERY slow
- 10090 Deprecate ragged array case in ImageBase.image
- 10424 [component: bokehjs] [BUG] Toggle on_click is fired when "active" is changed from Python side
- 10463 [component: docs] [BUG] bokeh authentication example checks only whether `user` cookie is set
- 10746 Make figure a class?
- 10840 [component: tests] Type errors in build should not stop tests from running
- 11347 [component: bokehjs] Simplify DatatimeTickFormatter format properties
- 11352 [component: docs] Docker container for dev environment
- 11355 [component: docs] Add LaTeX rendering to elements
- 11356 [component: docs] Examples demonstrating LaTeX capabilities
- 11357 [component: docs] Update docs for LaTeX capabilities
- 11358 [component: tests] Tests for LaTeX capabilities
- 11359 PNG export for LaTeX
- 11363 [component: docs] Export LaTeX to SVG
- 11507 [component: build] Migrate to repo to "src" layout
- 11637 [component: docs] Document requirement of PEP 604 (py 3.10) type annotation syntax
- 11640 [component: docs] Document Tool.icon in user guide
- 11642 Rename FuncTickFormatter
- 11723 [component: docs] Docs still reference FuncTickFormatter
- 11752 [component: tests] [BUG] Windows integration tests failing in BokehJS-CI
- 11789 [component: docs] Pin Sphinx < 4.3
- 11792 [component: docs] Unpin Sphinx and update min version
- 11845 [BUG] color.darken() triggers BokehDeprecationWarning as it uses HSL related methods internally
- 11850 [component: docs] Documentation nitpick re: EditTools
- 11883 [component: tests] BokehJS-CI test failure in windows-latest
- 11968 [component: docs] Update docs for AjaxDataSource
- 11996 [FEATURE] Allow passing things other than models into args argument on CustomJSHover
- 12018 [component: server] support the proactor eventloop on windows with tornado >=6.1
- 12024 [component: docs] [BUG] Clarify docs about necessity of Firefox
- 12049 Typo in ValueError in L170 of serialization.py repo
- 12087 [BUG] Abspath does not expand users home directory
- 12152 [component: docs] Add Apache load balancer configuration to documentation
- 12153 [component: bokehjs] Upgrade to TypeScript 4.7
- 12168 [component: docs] Update docs for new Tooltip functionalities
- 12178 Add Python compat deprecation for `FuncTickFormatter`
- 12180 [component: docs] Demonstrate better practice in JS callback docs
- 12203 [component: docs] Misc 3.0 docs issues
- 12216 New PIL version broke tests
- 12237 [component: docs] [BUG] output_file() documentation is not consistent
- 12261 Add pandas as hard dependency
- 12264 [component: docs] [FEATURE] Adding existing bokeh language bindings to the documentation
- 12291 [BUG] DepricationWarning for latest Selenium 4.3.0 and webdriver.Firefox
- 12332 Proposed changes for envs / scripts
- 12340 [component: docs] Update docs for new src layout
- 12402 [component: docs] Double tooltip on hovering over user guide periodic table example
- 12415 [component: docs] [BUG] navigation section on gallery page is placed incorrect
- 12511 [component: docs] [FEATURE] Outdated renderers helpstring
- 11620 Execute 3.0 deprecations
- 11621 Drop `render_mode` and split off HTML annotations
- 11622 [component: tests] Don't report successful flaky tests
- 11624 [component: bokehjs] Drop `deprecated` functionality of bokehjs
- 11636 [component: bokehjs] Correct MathText color, size and vertical alignment
- 11659 [component: bokehjs] Fix and improve output from Printer.string()
- 11660 [component: docs] Update docs for math text styling
- 11665 Drop support for subtype from the protocol
- 11669 Create SECURITY.md
- 11671 [component: tests] Reorganize bokehjs' test assets and add "sprint" example
- 11677 [component: bokehjs] Redesign text rendering in `Text` glyph
- 11691 build BokehJS by default
- 11692 [component: bokehjs] replace deprecated CLIEngine eslint class and add cache for faster linting
- 11699 [component: bokehjs] Split up `api/plotting.ts` into `figure.ts` and `io.ts`
- 11700 [component: tests] Add more bokehjs' examples under visual tests
- 11706 [component: tests] Add streaming circle test for issue 5046
- 11708 [component: tests] Implement MathText on TextAnnotations and organize MathText tests
- 11709 [component: docs] Update contributor docs (part 2)
- 11733 Add more modules to mypy
- 11748 [component: build] Removed a manual file handler pitfall
- 11763 [component: bokehjs] Remove invalid `null` and other conditionals
- 11771 Include version pattern in workflow input description
- 11773 Remove `CDSView.source` and infer the source from `CDSView`'s parent
- 11774 [component: examples] 11765 basic plot example metadata
- 11775 [component: docs] Add metadata to examples/models/file/daylight.py (11765)
- 11777 [component: bokehjs] Add support for unset properties to bokehjs
- 11778 Docker dev image (11352)
- 11780 [component: tests] Update root `View`'s `ready` promise along its descendants
- 11787 Bryanv/forward ports to 3.0
- 11799 [component: build] add Python 3.10 to CI
- 11809 [component: docs] metadata for examples/models/file/calendars.py added
- 11812 [component: build] Remove automatic addition of `init_ModelName()`
- 11813 [component: bokehjs] Clarify handling and internal types of partial messages
- 11815 Add support for math text to slider widgets
- 11816 [component: build] Reorganize bokehjs' dependencies using npm workspaces
- 11831 2.4.2 forward ports
- 11835 [component: build] Update baselines on MacOS
- 11837 [component: tests] Update baselines on Windows
- 11858 [component: examples] More LaTeX examples
- 11859 [component: docs] Update docs for Slider, RangeSlider
- 11861 update sliders baselines
- 11869 [component: examples] Add final 2 LaTeX examples: Bessel functions and LaTeX labels
- 11872 [component: examples] Added docstrings on app\examples
- 11874 [component: build] Update bokeh-release-build.yml
- 11876 [component: examples] Added metadata to some examples and fixed one 11765
- 11878 [component: examples] Port schrodinger example to bokehjs
- 11902 [component: examples] Added metadata for examples/plotting/file/color_data_map.py and examples/plotting/file/grid.py
- 11905 [component: examples] Add metadata to widgets.py
- 11907 Fix type issues after upgrading to mypy 0.920
- 11915 Redesign the layout using CSS and canvas layouts
- 11919 [component: build] Require nodejs 16.* LTS for dev and testing
- 11920 [component: build] Fail bokehjs' CI jobs if repository gets dirty
- 11921 [component: tests] Test bokehjs' palettes and reduce their size
- 11927 [component: bokehjs] Improve life cycle of `DataRange1d.plots`
- 11931 [component: build] Drop official support for Python 3.7
- 11939 Make `_may_have_unstable_defaults()` more robust
- 11941 Replace `typing_extensions` with `typing` wherever possible
- 11943 [component: tests] Don't rely on clicking a toolbar button for testing
- 11949 [component: bokehjs] Replace manual text handling in `Legend` with `TextBox`
- 11953 [component: tests] Update tests for Firefox 96
- 11970 Deprecate CDSView.source more gracefully
- 11982 [component: build] Upgrade bokehjs' npm packages
- 12009 [component: docs] Add metadata to tile_source.py and fix various typos
- 12011 [component: tests] Silence deprecation and other warnings in integration tests
- 12027 [component: build] Upgrade TypeScript to version 4.6
- 12028 [component: tests] Set up `asyncio_mode` to silence deprecation warnings
- 12039 [component: server] Remove `use_buffers` from `PatchDoc` message
- 12042 RenderRoot dataclass
- 12044 [component: docs] 11765 add metadata to examples
- 12056 [component: build] Upgrade bokehjs' dependencies
- 12060 [component: docs] Update docs for HexTile
- 12063 [component: docs] Clean up sample data attribution
- 12064 [component: bokehjs] WebGL support for Block glyph
- 12076 [component: bokehjs] Initialize properties in definition order
- 12100 Fix Comparing singleton primitives with equality checking
- 12102 Minor cleanup issues
- 12116 [component: docs] Update WebGL docs
- 12128 Adding metadata to examples/models/file/buttons.py 11765
- 12147 New vars and cleanup for hover tooltips
- 12161 [component: bokehjs] WebGL step glyph
- 12173 [component: bokehjs] Minor bokehjs' codebase cleanup
- 12188 [component: bokehjs] Toggle opacity not visibility of descriptions
- 12200 [component: docs] Update for latest Sphinx and pydata theme
- 12206 [component: docs] Minor 3.0 docs updates
- 12209 [component: docs] Replace panels and tabs extensions
- 12211 [component: docs] Alt-text Sprint PR
- 12224 [component: docs] Update docs CSS
- 12229 [component: docs] Fix intersphinx doc reference
- 12233 Revert field_name rename
- 12241 [component: docs] Update wording for output_file()
- 12242 [component: docs] Update docs for tooltip PR
- 12245 [component: docs] Added definition for LOD (Level-of-Detail)
- 12246 Rename `NonNullable` to `Required`
- 12247 Update bokehjs' dependencies
- 12249 [component: examples] add SRI hash for vis.js
- 12252 Normalize built-in types and remove `Unknown`
- 12257 [component: tests] Upgrade bokehjs in examples and tests
- 12260 [component: docs] Add random filename description
- 12269 [component: bokehjs] Move normal random generator from `np` to `Random`
- 12274 Drop `serialized=False/readonly=True` for `NotSerialized/Readonly`
- 12284 [component: docs] Contouring docs
- 12286 [component: docs] Save CI docs as artifact
- 12290 Update codeql-analysis.yml
- 12293 Add post install status to bokeh-release-build
- 12294 [component: tests] Cleanup / condense project configs
- 12298 [component: docs] Grammatical fixes and improvisations
- 12302 [component: bokehjs] BokehJS maths improvements
- 12304 [component: build] Add `py.typed` marker file for mypy
- 12305 [component: docs] Remove double colons from field lists
- 12306 [component: tests] Streamline / modernize build system
- 12307 Preserve original line endings in code quality tests
- 12311 Move test utils out of tree
- 12317 [component: build] More CI work (part 1)
- 12318 [component: docs] Update dev setup docs
- 12319 [component: build] More CI work (part 2)
- 12320 [component: build] More CI work (part 3)
- 12321 [component: build] More CI work (part 4)
- 12324 [component: build] More CI work (part 5)
- 12326 [component: docs] clean up MANIFEST.in
- 12336 [component: tests] Test out codecov action
- 12337 Add package validation helper
- 12339 [component: docs] consolidate docs directory
- 12341 Move typings under src
- 12342 [component: build] Use proper setuptools command extensions
- 12347 [component: build] Add package verify to release automation
- 12349 [component: build] Align CI/release build more closely
- 12352 Codecov config experiments
- 12353 Hide top level import
- 12358 Flatten examples dirs
- 12364 [component: docs] Remove extraneous paragraph
- 12368 Consolidate gitignores
- 12371 [component: build] Upgrade bokehjs' dependencies
- 12372 Consider undeprecating *on_click helpers
- 12373 [component: tests] make precommit config more fine-grained
- 12381 Use wheel for testing
- 12383 [component: bokehjs] Clean up naming, deprecations, legacy APIs, etc.
- 12387 Remove `bokeh.server.django`
- 12388 [component: tests] Include `CartesianFrame` in baseline files
- 12389 Update README.md
- 12394 [component: bokehjs] Use more robust CSS length parsing in MathText
- 12395 [component: docs] Add metadata to trefoil example
- 12403 [component: docs] Pin pydata sphinx theme version
- 12407 [component: tests] Robustify workflow around testing defaults
- 12419 [component: docs] Rearrange examples and users guide
- 12424 Upgrade to mypy 0.981
- 12431 [component: docs] Grammar changes to the docs
- 12433 [component: docs] Restructure User's Guide (Part 1)
- 12434 Split up `bokeh.models.renderers` and move `contour_renderer`
- 12435 [component: tests] Include only own and overriden defaults in defaults.yaml
- 12436 Change type of `Model.subscribed_events` to `Set(String)`
- 12437 [component: docs] Update 3.0.0 change log
- 12440 [component: docs] Restructure User Guide (Part 2)
- 12441 Add 'p' prefix to simple IDs in Python
- 12446 [component: docs] Update gallery thumbnails
- 12454 [component: docs] More gallery / user guide improvements
- 12458 [component: docs] Improve the gallery grid
- 12463 Update theme.yaml
- 12472 [component: docs] Make Styling a top-level section
- 12474 [component: docs] add missing ports and notes
- 12477 [component: docs] Fix up some sphinx paths
- 12478 [component: docs] Add a batch of new gallery items
- 12485 [component: docs] Misc docs/examples for 3.0
- 12488 fix win sampledata test
- 12491 [component: docs] Misc examples cleanup (part 1)
- 12492 [component: docs] Update styling docs
- 12495 [component: docs] Misc QoL improvements for examples
- 12497 [component: docs] Move migration guide to Wiki
- 12499 [component: docs] Add two missing words to data.rst
- 12500 [component: docs] Add more examples to gallery
- 12501 [component: docs] Fix some typos
- 12502 [component: docs] More examples updates
- 12505 Don't allow `Model(id="some", **properties)`
- 12508 [component: tests] Migrate defaults' baseline from yaml to json5
- 12513 [component: bokehjs] Resolve deprecations in bokehjs' CI workflow
- 12515 Rename `SettingsTool` to `InspectorTool`
- 12517 [component: bokehjs] Allow scroll in inspector's model/property panels
- 12518 [component: docs] Fix typos
- 12519 [component: docs] Move intro paragraph
- 12522 [component: bokehjs] Rename `InspectorTool` to `ExamineTool`
- 12524 [component: docs] Some final docs updates
```
### 2.4.3
```
--------------------
* bugfixes:
- 7390 [component: bokehjs] Tap events respond outside plot area
- 11744 [component: docs] BokehJS example in docs is broken
- 11832 [component: bokehjs] [BUG] Zoom-in failing with the `xzoom_in` tool
- 11965 [component: bokehjs] [BUG] Table formatting causes layout crash/collapse
- 11987 [component: docs] Docs: extra whitespace on non-sidebar pages
- 11995 [component: docs] [Docs] his must be replaced by This
- 12058 [BUG] webgl backend results in dashed lines
- 12070 [component: bokehjs] [BUG] Wedge/AnnularWedge hit testing cuts off top/bottom
- 12096 Missing `f` prefix on f-strings
- 11819 [component: bokehjs] Correctly handle odd-length dash patterns in WebGL
- 11829 [component: bokehjs] Fix webgl line NaN handling
- 12051 [component: docs] Fixed typo: s/server/serve/
- 12106 Fix typo in git.py
* features:
- 9182 [component: bokehjs] Add hover tooltip support for Patch, HArea, and VArea
- 10525 [component: bokehjs] [Feature] Support full text search for MultiChoice and auto complete input
- 11840 [component: bokehjs] Support multiple marker types in WebGL scatter
- 12034 Add DatetimeRangeSlider
- 12121 Support rescale_discrete_levels in EqHistColorMapper
* tasks:
- 8851 [component: docs] [BUG] components() does not return dict with wrap_plot_info=False
- 11707 [component: bokehjs] Avoid expensive over-computing "all models" on Document init
- 11716 [component: docs] [BUG] Docs still mention gen.coroutine
- 11726 [component: docs] [BUG] Update links in example app surface3d to point to new location on visjs.org
- 11757 [component: docs] [FEATURE] Elaborate on branch creation and git commits in docs
- 11811 Remove unnecessary whitespace from rendered templates
- 11868 [component: examples] Examples README.md files needs checking and updating
- 11870 [component: docs] Remove katex example, test and docs
- 11875 [component: build] Make release build more robust to commit files
- 11956 [component: docs] Use CONTRIBUTING.md to point to developers guide
- 11977 [BUG] missing functools.wraps makes debugging unawaited _needs_document_lock_wrapper methods difficult
- 12093 [BUG] Flake8 pre-push test failure
- 12112 Use channel instead of explicit version for GMap API?
- 11698 [component: docs] Fixed some typos and changed wording for better tone
- 11814 Fix webgl dashed line joins with butt end caps
- 11823 [component: tests] Force webgl backend when requested for testing
- 11833 simplify CI jobs with composite action
- 11849 [component: bokehjs] Remove temporary WebGL circle fix
- 11867 [component: build] Pin to django 3.x
- 11906 [component: tests] Drop baseline testing on MacOS and Windows
- 11922 Update copyright statements to 2022
- 11935 Fix typo in tools.py
- 11971 [component: build] Fix new typings failures
- 11993 [component: docs] Add sphinx_copybutton
- 12040 [component: bokehjs] Unify WebGL markers and rects
- 12046 [component: bokehjs] WebGL typescript refactor and add quad glyph
- 12055 [component: bokehjs] Implement WebGL marker line joins
- 12061 [component: bokehjs] WebGL support for HBar VBar and HexTile glyphs
- 12084 [component: bokehjs] Simplify EqHistColorMapper calculations
- 12120 [component: bokehjs] WebGL line refactor
- 12126 3.0 -> 2.4.3 backports
- 12130 More 2.4.3 backports
- 12131 Yet more 2.4.3 backports
```
### 2.4.2
```
--------------------
* bugfixes:
- 11422 [component: bokehjs] [BUG] `DeserializationError` when trying to change a `DataTable`'s columns with `CustomJS`
- 11800 [BUG] DeserializationError when plotting graphs
- 11801 [component: bokehjs] [BUG] Log axis figures don't render if they're not visible at start
- 11807 [component: bokehjs] Work around issues with initialization-time change discovery
- 11808 Don't unnecessarily update node/edge renderers in graphs
* tasks:
- 11613 [component: docs] Cache-bust custom.css for docs
- 11791 [component: docs] Update issue template to use new GH forms
- 11761 [component: docs] Clarify use of color in first steps guide
- 11762 [component: docs] Replace slash with backslash for PS commands
- 11767 [component: bokehjs] Upgrade jquery-ui to resolve security concerns
- 11781 [component: examples] fix transform jitter example
- 11786 bokeh 2.4.2 backports
- 11790 [component: build] Bryanv/pin sphinx 42
- 11797 Add OS to bokeh info
- 11805 More 3.0 -> 2.4.2 backports
- 11810 [component: docs] Update docs for new issue forms
- 11824 Updates for release
```
### 2.4.1
```
--------------------
* bugfixes:
- 11119 [component: bokehjs] [BUG] varea_stack() and vline_stack() fails to update correctly when new source data is different length
- 11625 [component: tests] [BUG] Codebase test failures in Windows
- 11627 [BUG] mypy tests fail in Windows
- 11629 [BUG] Hover tool takes long time to render
- 11633 [component: bokehjs] [BUG] RangesUpdate not emitted when using xwheel_pan
- 11645 [component: bokehjs] [BUG] `bokeh init` creates a `package.json` which refers to the deprecated Bokeh JS node package
- 11646 [component: bokehjs] [BUG] Using band_hatch_pattern with images doesn't work
- 11661 [component: bokehjs] [BUG] Issue with line rendering when selecting indices
- 11670 [component: bokehjs] [BUG] Duplicate change events for autocomplete_input
- 11679 [BUG] Parallel Plot example with output_backend="webgl" not working
- 11713 [component: docs] Documentation builds are failing in CI
- 11644 [component: bokehjs] Actually fix clipping in SVG `<text>` nodes
* tasks:
- 11617 [component: docs] Update Team link in footer
- 11658 [component: build] Support "pip install" from sdist
- 11618 [component: tests] Reduce Tornado imports
- 11628 [component: docs] Correct path in dev guide server instructions
- 11652 [component: build] Update bokehjs' dependencies
- 11668 [component: docs] Add information about mathjax bundle
- 11681 [NO SQUASH] Batch of 3.0 -> 2.4 backports
- 11712 [component: tests] Upgrade baselines to Chrome 94
- 11722 [component: tests] Update visual baselines on MacOS
- 11724 [NO SQUASH] More 3.0 -> 2.4 backports
- 11738 [component: docs] Add release notes for Bokeh 2.4.1
```
### 2.4
```
--------------------
* 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
```
### 2.3.3
```
--------------------
* 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
```
### 2.3.2
```
--------------------
* 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
```
### 2.3
```
--------------------
* 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 (&x27;)
- 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
This PR updates bokeh from 2.0.0 to 3.0.3.
Changelog
### 3.0.2 ``` -------------------- * bugfixes: - 4930 interaction between tooltips and gridplots - 12429 [component: bokehjs] [BUG] Line selection does not render the unselected end line segments - 12531 [component: bokehjs] [BUG] latex in titles - upright characters that should be italic - 12551 [component: tests] bokehjs' unit tests fail on chromium 107 - 12554 [component: docs] Custom.js needs update for switcher - 12578 [component: bokehjs] [BUG] gridplot reset button does not reset all figures - 12585 [component: bokehjs] [BUG] line_policy='none' for HoverTool does not generate any tooltip - 12587 [component: server] [BUG] Don't delete importlib.metadata in __init__.py - 12593 [BUG] Guard numpy.typing.ArrayType with `if TYPE_CHECKING` * tasks: - 12557 [component: docs] Need automation for updating switcher.json - 12560 [FEATURE] remove mock - 12562 [BUG] Tests: "python" is not a guaranteed executable - 12566 [component: docs] Fix dates and typo in release docs for 3.0.0/3.0.1 - 12569 [component: build] Add Python 3.11 to CI - 12571 [component: tests] Remove flaky from integration tests - 12573 [component: tests] Add a regression test for issue 4888 - 12579 Upgrade to mypy 0.990 - 12581 Disable Selenium integration tests for now - 12597 Backports for 3.0.2 - 12600 Updates for 3.0.2 ``` ### 3.0.1 ``` -------------------- * bugfixes: - 12537 [BUG] ImportError: cannot import name 'NotRequired' from 'typing_extensions' * tasks: - 12528 [component: docs] Update tutorial link - 12533 [component: examples] [BUG] Units in blackbody example should be upright - 12525 [component: examples] Added metadata to bokeh\examples\plotting\checkout_form.py - 12539 [component: build] Remove runtime dependency on typing_extensions - 12546 [component: examples] Apply blackbody example label edits (12534) to the ts example as well ``` ### 3.0 ``` -------------------- * bugfixes: - 5046 Webgl problem in stream app with multiple glyphs - 6669 [component: bokehjs] BoxAnnotation does not appear to handle formal NumberSpec - 8168 [component: bokehjs] Strange behavior with BoxSelectTool when click+dragging on toolbar - 8332 [component: bokehjs] Autohide toolbar quirks - 8346 [component: bokehjs] update datasource cause error with webgl backend - 8469 Modifying a child element in a tab causes the whole tab to rerender - 8531 [component: bokehjs] Save tool in gridplot initiates multiple downloads - 8684 Allow at least partial alignment of fixed sized frames - 9113 [component: bokehjs] Empty group widgets don't size properly once populated - 9133 [BUG] Tabs ignore explicitly set dimensions - 9208 [component: bokehjs] [BUG] sizing_mode='stretch_width' makes plot too wide if scrollbar is showing - 9320 [BUG] Bokeh rendering performance - 9448 [component: bokehjs] [BUG] Google Fonts not loading on Glyph on standalone HTML until interacting with Glyph - 9744 [component: bokehjs] [BUG] bokeh server layout overlap on toggle visibility - 9763 [BUG] `gridplot` `merge_tools` removes distinct tools it thinks are repeated, e.g., `xpan` and `ypan` - 9764 [component: bokehjs] [BUG] MultiChoice placeholder text not displayed - 9992 [component: bokehjs] [BUG] Select widget hiding tabs, when selecting a plot - 10125 [component: bokehjs] [BUG] widgets overlap each other - 10183 [component: server] [BUG] Processing of HTTP request arguments (server_document) and num-procs > 1 - 10355 [component: bokehjs] [BUG] Toolbar cropped when using tabbed auto-width - 10377 [component: docs] Documentation examples produce inconsistently named output files - 10621 [component: bokehjs] [BUG] [MINOR] 2.3.0dev3, plot's inner_width property always sent on redraw even if unchanged - 10804 [BUG] export does not respect current theme - 11033 [component: bokehjs] [BUG] add_layout(LinearAxis) in click handler crashes client - 11116 [component: bokehjs] [BUG] ColorBars do not update when their properties are updated - 11205 [component: bokehjs] [BUG] Hover tooltip breaks with full-circle wedge - 11339 [BUG] Toggling layout's visibility results with overlapping widgets - 11462 [component: bokehjs] [BUG] Existing ColorBar tick-digits don't react to theme changes - 11475 [component: bokehjs] [BUG] SVG export breaks for Wedges - 11623 [BUG] Placement of toolbar location is broken for gridplots - 11643 Refs are not resolved in data models' default values - 11673 [component: bokehjs] [BUG] JavaScript error when setting LabelSet text to None - 11694 Custom extension breaks with id as key in a dict param - 11750 [component: bokehjs] [BUG] Hover tool takes long time to render (-> 11629) - 11770 [component: bokehjs] [BUG] Linking an axis range can lead to other axis range autoscaling improperly - 11776 [component: bokehjs] Dynamically changing the color palette of a color mapper - 11803 [component: bokehjs] [BUG] Message containing ModelChangeEvents for all properties sent back to server on initialization - 11822 [component: tests] Tests using headless chrome are completely broken - 11838 [component: bokehjs] [BUG] incorrect scalling for the zoom-out tool - 11839 [BUG] PanTool can't be deactivated in grid plot - 11877 [component: bokehjs] ImageURL blinks when the datasource updated - 11930 [BUG] major_label_overrides are not applied if the overrides are float but the original labels are int - 11946 [component: bokehjs] Re-rendering a layout causes menus to be removed from DOM - 11963 [BUG] Option groups of the Select widget are sorted - 11981 [component: build] BokehJS build failing in release CI - 11985 [component: docs] Docs Search results are messed up - 11999 [component: bokehjs] Rendering happens on every mouse move with inspections enabled - 12001 [component: bokehjs] [BUG] Failure of push_notebook() to update colormapper of a colorbar - 12033 [component: bokehjs] [BUG] Incorrect handling of step by DateRangeSlider - 12047 [BUG] Jumpy scroll on mobile - 12080 [BUG] examples/plotting/file/image.py no longer works - 12101 [component: docs] Misplaces BokehJS Sphinx embeds - 12115 [component: bokehjs] [FEATURE] Expose itemSelectText option on the MultiChoice widget - 12123 [BUG] Allow to extend vertically a TextAreaInput - 12127 [component: bokehjs] [BUG] LabelSet doesn't check type for text - 12133 [component: docs] Docs are missing GA code - 12142 [component: bokehjs] [BUG] Mathjax 3.2.1 breaks Bokeh - 12145 [component: examples] [BUG] Examples/Apps/Stocks has broken URL - 12150 [component: docs] Links for download badges in readme don't go anywhere - 12155 [component: bokehjs] [BUG] Inlined RadioGroup widget doesn't extend enough horizontally - 12162 [component: bokehjs] [BUG] step(mode="center", ...) renders incorrectly on canvas if coordinates contain NaN - 12176 [component: examples] [BUG] examples/app/gaminder: year 2013 (the latest year in the data set) is not presented in the Gapminder visualization - 12204 [component: bokehjs] [BUG] Setting datatable selectable to False leads to an error when trying to sort - 12205 [component: bokehjs] [BUG] Div with stretch_width doesn't stretch - 12207 [component: bokehjs] [BUG] image_rgba selection - 12232 [BUG] Bokeh 3.0.0 cannot serialize Pandas Dataframe - 12238 Many hidden type errors due to wrong mypy config - 12250 [BUG] ContourColorBar does not support theme - 12280 [component: bokehjs] [BUG] Combine alpha values by multiplying together - 12313 [BUG] range no longer works with ColumnDataSource - 12357 [component: bokehjs] [BUG] webgl breaks shared brushing - 12361 [component: bokehjs] [BUG] Canvas backend doesn't always render marker vector line_width correctly - 12378 [component: docs] [BUG] Links in "First steps" documentation all broken - 12386 [component: docs] python/js reported version mismatch - 12404 [component: examples] Jitter example is broken - 12405 [component: bokehjs] gridplot examples layouts are broken - 12412 [component: bokehjs] [BUG] Canvas step glyph sometimes renders with incorrect alpha - 12416 [component: docs] Custom extension examples not rendering - 12418 [component: bokehjs] Lasso overlay is broken - 12447 [component: bokehjs] Toolbar interferes with tooltip - 12448 [component: bokehjs] `GridPlot` needs better defaults for rows/cols sizing - 12453 [component: bokehjs] Sizing mode example is broken - 12456 [component: bokehjs] DOM drag/selection issue - 12462 [component: docs] [BUG] Sphinx warnings while building documentation - 12465 [component: bokehjs] [BUG] DataTable cell content gets overprinted if DataTable is used within a TabPanel - 12479 [component: bokehjs] [BUG] Figure p in column(gridplot([[p]])) not rendered when adding another figure like this: column(p, gridplot([[p]])) - 12494 [component: examples] Ion slider extension example broken - 12506 ContourRenderer disregards line_color=None - 11717 [component: bokehjs] Fix bokehjs normally distributed random numbers - 11821 Update branches in CI workflow configurations - 11928 [component: bokehjs] Fix gmaps' support and remove special handling - 11932 [component: build] Update versions of all packages in `package-lock.json` - 11959 Discover unstable defaults in `HasProps.__init__()` - 11986 [component: build] Fix `package-lock.json` and `update_bokehjs_versions()` - 12057 [component: bokehjs] Robustify initialization of ndarrays - 12067 [component: bokehjs] Don't excessively check if fonts were loaded - 12174 [component: bokehjs] Fix canvas rendering of step glyph containing NaN - 12196 [component: bokehjs] Remove id attribute of bk-root after plotting - 12248 [component: bokehjs] Hide lower colors and labels when using EqHist rescale_discrete_levels - 12265 [component: docs] Pin sphinx to version >=5,<5.1 - 12285 Split up too long lines after flake8 upgrade - 12289 [component: docs] grammatically updated the tech docs - 12330 [component: tests] Improve compatibility with Python 3.10.6 in tests - 12344 [component: tests] Fix flake8 bokeh -> src/bokeh after PR 12338 - 12362 [component: bokehjs] Fix WebGL rendering of marker with size 0 - 12520 [component: docs] Restore strict docs build * features: - 1666 [component: bokehjs] Flip images when ranges are reversed - 1763 [component: bokehjs] Support anchor property for Image and ImageRGBA - 3799 Linked Crosshair - 3819 Toolbar Improvements: Make tools independent of bar - 4371 [component: bokehjs] Plot.y_range / Plot.x_range initial start/end values not set - 4403 Better defaults for resize event - 4568 [component: bokehjs] Allow active specification on gridplot toolbar - 4698 [component: bokehjs] Feature: Add "dbl-click to reset zoom" on BoxZoomTool - 4817 layout vertical alignment with buttons - 5135 [component: bokehjs] Pan and Zoom tools should be configurable (limit to x or y axis only) via UI - 5241 x_axis_type not in fuzzy matching for figure args - 6031 Latex axis and title labels - 6372 [component: docs] Add signatures to model objects - 8360 Add a Figure.contour method - 8364 Autohide toolbar should work with gridplot - 8727 [component: bokehjs] Tooltip on widgets - 8847 [component: bokehjs] RadioButtonGroup orientation vertical - 9086 [component: server] [FEATURE] add favicon support to Bokeh server - 9498 [FEATURE] Bokeh Sizing mode that inherits from parent - 9518 [component: bokehjs] Allow binary data, streaming and patching outside data sources - 9552 [component: bokehjs] [FEATURE] Placeholder text for FileInput - 9920 [component: bokehjs] Set themes using bokehjs - 9935 [component: bokehjs] Add context formatter option to DatetimeTickFormatter - 10533 [component: bokehjs] [FEATURE] Add x-box-select & y-box-select specific icons. - 10914 [component: bokehjs] [FEATURE] Add custom_tooltip and custom_icon to all tools (not implemented in SelectTools) - 10990 Add style attribute to all widgets - 11500 [FEATURE] Support xyzservices in basemap tiles - 11596 Allow data models to inherit from non data models - 11638 [component: bokehjs] [FEATURE] MultiChoice widget sorts options by default - 11704 [FEATURE] Include glyph sizing in plot range calculations - 11806 [component: bokehjs] [FEATURE] Add function to get adjacent nodes by selecting node. - 11881 [FEATURE] Expose a file name parameter in SaveTool - 11908 [FEATURE] remove_tools() function for plots - 12066 [component: docs] [FEATURE] Link documented sampledata to standalone example - 12089 [component: server] [FEATURE] Make bokeh server listen to unix socket - 12171 [component: bokehjs] [FEATURE] Batch rendering of many glyphs on the same plot - 12179 [FEATURE] Add support for text outlines with annotations - 12181 [component: bokehjs] [FEATURE] Allow `embed_item` to optionally take an element instead of an ID - 12272 [FEATURE] Allow AutocompleteInput min_characters=0 - 12273 [component: bokehjs] [FEATURE] Box_Zoom_Tool that allows zooming in only width, height, or both dimensions in one tool - 12438 [FEATURE] Add a parameter to limit the number of completion strings displayed by `AutocompleteInput` - 11122 Add support for basic glyph decorations - 11639 [component: bokehjs] Various bokehjs API improvements and new examples - 11697 [component: bokehjs] Expose plotting subcoordinates API in bokehjs - 11842 [component: bokehjs] Add block glyph - 11871 [component: bokehjs] Implement a bokehjs development/diagnostics tool - 11926 Allow to place toolbars inside the frame - 11933 Add support for a checkbox-like Switch widget - 12020 Add contouring - 12030 Add support for `np.array(..., dtype="bool")` - 12054 Generalize filtering on CDS views - 12213 [component: bokehjs] Add ColorBar.display_low and display_high - 12244 [component: bokehjs] Add support for cross bounds to grid lines - 12263 varying_alpha_palette helper function - 12268 [component: tests] Add support for async `expect().to.throw()` - 12270 [component: bokehjs] Allow to stop throttled functions - 12271 Add parameterized `NonNegative` and `Positive` properties - 12276 Introduce `canvas` coordinate units to remove `for_hover`, etc. - 12329 [component: server] Provide method to modify Server before start - 12467 [component: docs] Tabbed gallery - 12473 [component: docs] Add server examples to main gallery * tasks: - 4388 [component: tests] Missing layout tests - 5653 [component: tests] Add tests to ensure server events do not boomerang client-side - 6339 Use js Map instead of plain objects for properties like ColumnDataSource.data - 6574 [component: examples] Add more examples to bokehjs - 6591 [component: docs] Make it clear which annotations can and can not be preserved with save tool - 8188 [component: examples] Example app "dashboard" unsuccessful on wide screen - 8458 Simplify the JSON representation - 9731 Drop support for legacy web browsers - 9757 [component: bokehjs] Investigate using shadow DOM to gain proper isolation - 9907 Improve Auth Request Handler hierarchy - 10007 [BUG] Importing bokeh is VERY slow - 10090 Deprecate ragged array case in ImageBase.image - 10424 [component: bokehjs] [BUG] Toggle on_click is fired when "active" is changed from Python side - 10463 [component: docs] [BUG] bokeh authentication example checks only whether `user` cookie is set - 10746 Make figure a class? - 10840 [component: tests] Type errors in build should not stop tests from running - 11347 [component: bokehjs] Simplify DatatimeTickFormatter format properties - 11352 [component: docs] Docker container for dev environment - 11355 [component: docs] Add LaTeX rendering to elements - 11356 [component: docs] Examples demonstrating LaTeX capabilities - 11357 [component: docs] Update docs for LaTeX capabilities - 11358 [component: tests] Tests for LaTeX capabilities - 11359 PNG export for LaTeX - 11363 [component: docs] Export LaTeX to SVG - 11507 [component: build] Migrate to repo to "src" layout - 11637 [component: docs] Document requirement of PEP 604 (py 3.10) type annotation syntax - 11640 [component: docs] Document Tool.icon in user guide - 11642 Rename FuncTickFormatter - 11723 [component: docs] Docs still reference FuncTickFormatter - 11752 [component: tests] [BUG] Windows integration tests failing in BokehJS-CI - 11789 [component: docs] Pin Sphinx < 4.3 - 11792 [component: docs] Unpin Sphinx and update min version - 11845 [BUG] color.darken() triggers BokehDeprecationWarning as it uses HSL related methods internally - 11850 [component: docs] Documentation nitpick re: EditTools - 11883 [component: tests] BokehJS-CI test failure in windows-latest - 11968 [component: docs] Update docs for AjaxDataSource - 11996 [FEATURE] Allow passing things other than models into args argument on CustomJSHover - 12018 [component: server] support the proactor eventloop on windows with tornado >=6.1 - 12024 [component: docs] [BUG] Clarify docs about necessity of Firefox - 12049 Typo in ValueError in L170 of serialization.py repo - 12087 [BUG] Abspath does not expand users home directory - 12152 [component: docs] Add Apache load balancer configuration to documentation - 12153 [component: bokehjs] Upgrade to TypeScript 4.7 - 12168 [component: docs] Update docs for new Tooltip functionalities - 12178 Add Python compat deprecation for `FuncTickFormatter` - 12180 [component: docs] Demonstrate better practice in JS callback docs - 12203 [component: docs] Misc 3.0 docs issues - 12216 New PIL version broke tests - 12237 [component: docs] [BUG] output_file() documentation is not consistent - 12261 Add pandas as hard dependency - 12264 [component: docs] [FEATURE] Adding existing bokeh language bindings to the documentation - 12291 [BUG] DepricationWarning for latest Selenium 4.3.0 and webdriver.Firefox - 12332 Proposed changes for envs / scripts - 12340 [component: docs] Update docs for new src layout - 12402 [component: docs] Double tooltip on hovering over user guide periodic table example - 12415 [component: docs] [BUG] navigation section on gallery page is placed incorrect - 12511 [component: docs] [FEATURE] Outdated renderers helpstring - 11620 Execute 3.0 deprecations - 11621 Drop `render_mode` and split off HTML annotations - 11622 [component: tests] Don't report successful flaky tests - 11624 [component: bokehjs] Drop `deprecated` functionality of bokehjs - 11636 [component: bokehjs] Correct MathText color, size and vertical alignment - 11659 [component: bokehjs] Fix and improve output from Printer.string() - 11660 [component: docs] Update docs for math text styling - 11665 Drop support for subtype from the protocol - 11669 Create SECURITY.md - 11671 [component: tests] Reorganize bokehjs' test assets and add "sprint" example - 11677 [component: bokehjs] Redesign text rendering in `Text` glyph - 11691 build BokehJS by default - 11692 [component: bokehjs] replace deprecated CLIEngine eslint class and add cache for faster linting - 11699 [component: bokehjs] Split up `api/plotting.ts` into `figure.ts` and `io.ts` - 11700 [component: tests] Add more bokehjs' examples under visual tests - 11706 [component: tests] Add streaming circle test for issue 5046 - 11708 [component: tests] Implement MathText on TextAnnotations and organize MathText tests - 11709 [component: docs] Update contributor docs (part 2) - 11733 Add more modules to mypy - 11748 [component: build] Removed a manual file handler pitfall - 11763 [component: bokehjs] Remove invalid `null` and other conditionals - 11771 Include version pattern in workflow input description - 11773 Remove `CDSView.source` and infer the source from `CDSView`'s parent - 11774 [component: examples] 11765 basic plot example metadata - 11775 [component: docs] Add metadata to examples/models/file/daylight.py (11765) - 11777 [component: bokehjs] Add support for unset properties to bokehjs - 11778 Docker dev image (11352) - 11780 [component: tests] Update root `View`'s `ready` promise along its descendants - 11787 Bryanv/forward ports to 3.0 - 11799 [component: build] add Python 3.10 to CI - 11809 [component: docs] metadata for examples/models/file/calendars.py added - 11812 [component: build] Remove automatic addition of `init_ModelName()` - 11813 [component: bokehjs] Clarify handling and internal types of partial messages - 11815 Add support for math text to slider widgets - 11816 [component: build] Reorganize bokehjs' dependencies using npm workspaces - 11831 2.4.2 forward ports - 11835 [component: build] Update baselines on MacOS - 11837 [component: tests] Update baselines on Windows - 11858 [component: examples] More LaTeX examples - 11859 [component: docs] Update docs for Slider, RangeSlider - 11861 update sliders baselines - 11869 [component: examples] Add final 2 LaTeX examples: Bessel functions and LaTeX labels - 11872 [component: examples] Added docstrings on app\examples - 11874 [component: build] Update bokeh-release-build.yml - 11876 [component: examples] Added metadata to some examples and fixed one 11765 - 11878 [component: examples] Port schrodinger example to bokehjs - 11902 [component: examples] Added metadata for examples/plotting/file/color_data_map.py and examples/plotting/file/grid.py - 11905 [component: examples] Add metadata to widgets.py - 11907 Fix type issues after upgrading to mypy 0.920 - 11915 Redesign the layout using CSS and canvas layouts - 11919 [component: build] Require nodejs 16.* LTS for dev and testing - 11920 [component: build] Fail bokehjs' CI jobs if repository gets dirty - 11921 [component: tests] Test bokehjs' palettes and reduce their size - 11927 [component: bokehjs] Improve life cycle of `DataRange1d.plots` - 11931 [component: build] Drop official support for Python 3.7 - 11939 Make `_may_have_unstable_defaults()` more robust - 11941 Replace `typing_extensions` with `typing` wherever possible - 11943 [component: tests] Don't rely on clicking a toolbar button for testing - 11949 [component: bokehjs] Replace manual text handling in `Legend` with `TextBox` - 11953 [component: tests] Update tests for Firefox 96 - 11970 Deprecate CDSView.source more gracefully - 11982 [component: build] Upgrade bokehjs' npm packages - 12009 [component: docs] Add metadata to tile_source.py and fix various typos - 12011 [component: tests] Silence deprecation and other warnings in integration tests - 12027 [component: build] Upgrade TypeScript to version 4.6 - 12028 [component: tests] Set up `asyncio_mode` to silence deprecation warnings - 12039 [component: server] Remove `use_buffers` from `PatchDoc` message - 12042 RenderRoot dataclass - 12044 [component: docs] 11765 add metadata to examples - 12056 [component: build] Upgrade bokehjs' dependencies - 12060 [component: docs] Update docs for HexTile - 12063 [component: docs] Clean up sample data attribution - 12064 [component: bokehjs] WebGL support for Block glyph - 12076 [component: bokehjs] Initialize properties in definition order - 12100 Fix Comparing singleton primitives with equality checking - 12102 Minor cleanup issues - 12116 [component: docs] Update WebGL docs - 12128 Adding metadata to examples/models/file/buttons.py 11765 - 12147 New vars and cleanup for hover tooltips - 12161 [component: bokehjs] WebGL step glyph - 12173 [component: bokehjs] Minor bokehjs' codebase cleanup - 12188 [component: bokehjs] Toggle opacity not visibility of descriptions - 12200 [component: docs] Update for latest Sphinx and pydata theme - 12206 [component: docs] Minor 3.0 docs updates - 12209 [component: docs] Replace panels and tabs extensions - 12211 [component: docs] Alt-text Sprint PR - 12224 [component: docs] Update docs CSS - 12229 [component: docs] Fix intersphinx doc reference - 12233 Revert field_name rename - 12241 [component: docs] Update wording for output_file() - 12242 [component: docs] Update docs for tooltip PR - 12245 [component: docs] Added definition for LOD (Level-of-Detail) - 12246 Rename `NonNullable` to `Required` - 12247 Update bokehjs' dependencies - 12249 [component: examples] add SRI hash for vis.js - 12252 Normalize built-in types and remove `Unknown` - 12257 [component: tests] Upgrade bokehjs in examples and tests - 12260 [component: docs] Add random filename description - 12269 [component: bokehjs] Move normal random generator from `np` to `Random` - 12274 Drop `serialized=False/readonly=True` for `NotSerialized/Readonly` - 12284 [component: docs] Contouring docs - 12286 [component: docs] Save CI docs as artifact - 12290 Update codeql-analysis.yml - 12293 Add post install status to bokeh-release-build - 12294 [component: tests] Cleanup / condense project configs - 12298 [component: docs] Grammatical fixes and improvisations - 12302 [component: bokehjs] BokehJS maths improvements - 12304 [component: build] Add `py.typed` marker file for mypy - 12305 [component: docs] Remove double colons from field lists - 12306 [component: tests] Streamline / modernize build system - 12307 Preserve original line endings in code quality tests - 12311 Move test utils out of tree - 12317 [component: build] More CI work (part 1) - 12318 [component: docs] Update dev setup docs - 12319 [component: build] More CI work (part 2) - 12320 [component: build] More CI work (part 3) - 12321 [component: build] More CI work (part 4) - 12324 [component: build] More CI work (part 5) - 12326 [component: docs] clean up MANIFEST.in - 12336 [component: tests] Test out codecov action - 12337 Add package validation helper - 12339 [component: docs] consolidate docs directory - 12341 Move typings under src - 12342 [component: build] Use proper setuptools command extensions - 12347 [component: build] Add package verify to release automation - 12349 [component: build] Align CI/release build more closely - 12352 Codecov config experiments - 12353 Hide top level import - 12358 Flatten examples dirs - 12364 [component: docs] Remove extraneous paragraph - 12368 Consolidate gitignores - 12371 [component: build] Upgrade bokehjs' dependencies - 12372 Consider undeprecating *on_click helpers - 12373 [component: tests] make precommit config more fine-grained - 12381 Use wheel for testing - 12383 [component: bokehjs] Clean up naming, deprecations, legacy APIs, etc. - 12387 Remove `bokeh.server.django` - 12388 [component: tests] Include `CartesianFrame` in baseline files - 12389 Update README.md - 12394 [component: bokehjs] Use more robust CSS length parsing in MathText - 12395 [component: docs] Add metadata to trefoil example - 12403 [component: docs] Pin pydata sphinx theme version - 12407 [component: tests] Robustify workflow around testing defaults - 12419 [component: docs] Rearrange examples and users guide - 12424 Upgrade to mypy 0.981 - 12431 [component: docs] Grammar changes to the docs - 12433 [component: docs] Restructure User's Guide (Part 1) - 12434 Split up `bokeh.models.renderers` and move `contour_renderer` - 12435 [component: tests] Include only own and overriden defaults in defaults.yaml - 12436 Change type of `Model.subscribed_events` to `Set(String)` - 12437 [component: docs] Update 3.0.0 change log - 12440 [component: docs] Restructure User Guide (Part 2) - 12441 Add 'p' prefix to simple IDs in Python - 12446 [component: docs] Update gallery thumbnails - 12454 [component: docs] More gallery / user guide improvements - 12458 [component: docs] Improve the gallery grid - 12463 Update theme.yaml - 12472 [component: docs] Make Styling a top-level section - 12474 [component: docs] add missing ports and notes - 12477 [component: docs] Fix up some sphinx paths - 12478 [component: docs] Add a batch of new gallery items - 12485 [component: docs] Misc docs/examples for 3.0 - 12488 fix win sampledata test - 12491 [component: docs] Misc examples cleanup (part 1) - 12492 [component: docs] Update styling docs - 12495 [component: docs] Misc QoL improvements for examples - 12497 [component: docs] Move migration guide to Wiki - 12499 [component: docs] Add two missing words to data.rst - 12500 [component: docs] Add more examples to gallery - 12501 [component: docs] Fix some typos - 12502 [component: docs] More examples updates - 12505 Don't allow `Model(id="some", **properties)` - 12508 [component: tests] Migrate defaults' baseline from yaml to json5 - 12513 [component: bokehjs] Resolve deprecations in bokehjs' CI workflow - 12515 Rename `SettingsTool` to `InspectorTool` - 12517 [component: bokehjs] Allow scroll in inspector's model/property panels - 12518 [component: docs] Fix typos - 12519 [component: docs] Move intro paragraph - 12522 [component: bokehjs] Rename `InspectorTool` to `ExamineTool` - 12524 [component: docs] Some final docs updates ``` ### 2.4.3 ``` -------------------- * bugfixes: - 7390 [component: bokehjs] Tap events respond outside plot area - 11744 [component: docs] BokehJS example in docs is broken - 11832 [component: bokehjs] [BUG] Zoom-in failing with the `xzoom_in` tool - 11965 [component: bokehjs] [BUG] Table formatting causes layout crash/collapse - 11987 [component: docs] Docs: extra whitespace on non-sidebar pages - 11995 [component: docs] [Docs] his must be replaced by This - 12058 [BUG] webgl backend results in dashed lines - 12070 [component: bokehjs] [BUG] Wedge/AnnularWedge hit testing cuts off top/bottom - 12096 Missing `f` prefix on f-strings - 11819 [component: bokehjs] Correctly handle odd-length dash patterns in WebGL - 11829 [component: bokehjs] Fix webgl line NaN handling - 12051 [component: docs] Fixed typo: s/server/serve/ - 12106 Fix typo in git.py * features: - 9182 [component: bokehjs] Add hover tooltip support for Patch, HArea, and VArea - 10525 [component: bokehjs] [Feature] Support full text search for MultiChoice and auto complete input - 11840 [component: bokehjs] Support multiple marker types in WebGL scatter - 12034 Add DatetimeRangeSlider - 12121 Support rescale_discrete_levels in EqHistColorMapper * tasks: - 8851 [component: docs] [BUG] components() does not return dict with wrap_plot_info=False - 11707 [component: bokehjs] Avoid expensive over-computing "all models" on Document init - 11716 [component: docs] [BUG] Docs still mention gen.coroutine - 11726 [component: docs] [BUG] Update links in example app surface3d to point to new location on visjs.org - 11757 [component: docs] [FEATURE] Elaborate on branch creation and git commits in docs - 11811 Remove unnecessary whitespace from rendered templates - 11868 [component: examples] Examples README.md files needs checking and updating - 11870 [component: docs] Remove katex example, test and docs - 11875 [component: build] Make release build more robust to commit files - 11956 [component: docs] Use CONTRIBUTING.md to point to developers guide - 11977 [BUG] missing functools.wraps makes debugging unawaited _needs_document_lock_wrapper methods difficult - 12093 [BUG] Flake8 pre-push test failure - 12112 Use channel instead of explicit version for GMap API? - 11698 [component: docs] Fixed some typos and changed wording for better tone - 11814 Fix webgl dashed line joins with butt end caps - 11823 [component: tests] Force webgl backend when requested for testing - 11833 simplify CI jobs with composite action - 11849 [component: bokehjs] Remove temporary WebGL circle fix - 11867 [component: build] Pin to django 3.x - 11906 [component: tests] Drop baseline testing on MacOS and Windows - 11922 Update copyright statements to 2022 - 11935 Fix typo in tools.py - 11971 [component: build] Fix new typings failures - 11993 [component: docs] Add sphinx_copybutton - 12040 [component: bokehjs] Unify WebGL markers and rects - 12046 [component: bokehjs] WebGL typescript refactor and add quad glyph - 12055 [component: bokehjs] Implement WebGL marker line joins - 12061 [component: bokehjs] WebGL support for HBar VBar and HexTile glyphs - 12084 [component: bokehjs] Simplify EqHistColorMapper calculations - 12120 [component: bokehjs] WebGL line refactor - 12126 3.0 -> 2.4.3 backports - 12130 More 2.4.3 backports - 12131 Yet more 2.4.3 backports ``` ### 2.4.2 ``` -------------------- * bugfixes: - 11422 [component: bokehjs] [BUG] `DeserializationError` when trying to change a `DataTable`'s columns with `CustomJS` - 11800 [BUG] DeserializationError when plotting graphs - 11801 [component: bokehjs] [BUG] Log axis figures don't render if they're not visible at start - 11807 [component: bokehjs] Work around issues with initialization-time change discovery - 11808 Don't unnecessarily update node/edge renderers in graphs * tasks: - 11613 [component: docs] Cache-bust custom.css for docs - 11791 [component: docs] Update issue template to use new GH forms - 11761 [component: docs] Clarify use of color in first steps guide - 11762 [component: docs] Replace slash with backslash for PS commands - 11767 [component: bokehjs] Upgrade jquery-ui to resolve security concerns - 11781 [component: examples] fix transform jitter example - 11786 bokeh 2.4.2 backports - 11790 [component: build] Bryanv/pin sphinx 42 - 11797 Add OS to bokeh info - 11805 More 3.0 -> 2.4.2 backports - 11810 [component: docs] Update docs for new issue forms - 11824 Updates for release ``` ### 2.4.1 ``` -------------------- * bugfixes: - 11119 [component: bokehjs] [BUG] varea_stack() and vline_stack() fails to update correctly when new source data is different length - 11625 [component: tests] [BUG] Codebase test failures in Windows - 11627 [BUG] mypy tests fail in Windows - 11629 [BUG] Hover tool takes long time to render - 11633 [component: bokehjs] [BUG] RangesUpdate not emitted when using xwheel_pan - 11645 [component: bokehjs] [BUG] `bokeh init` creates a `package.json` which refers to the deprecated Bokeh JS node package - 11646 [component: bokehjs] [BUG] Using band_hatch_pattern with images doesn't work - 11661 [component: bokehjs] [BUG] Issue with line rendering when selecting indices - 11670 [component: bokehjs] [BUG] Duplicate change events for autocomplete_input - 11679 [BUG] Parallel Plot example with output_backend="webgl" not working - 11713 [component: docs] Documentation builds are failing in CI - 11644 [component: bokehjs] Actually fix clipping in SVG `<text>` nodes * tasks: - 11617 [component: docs] Update Team link in footer - 11658 [component: build] Support "pip install" from sdist - 11618 [component: tests] Reduce Tornado imports - 11628 [component: docs] Correct path in dev guide server instructions - 11652 [component: build] Update bokehjs' dependencies - 11668 [component: docs] Add information about mathjax bundle - 11681 [NO SQUASH] Batch of 3.0 -> 2.4 backports - 11712 [component: tests] Upgrade baselines to Chrome 94 - 11722 [component: tests] Update visual baselines on MacOS - 11724 [NO SQUASH] More 3.0 -> 2.4 backports - 11738 [component: docs] Add release notes for Bokeh 2.4.1 ``` ### 2.4 ``` -------------------- * 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 ``` ### 2.3.3 ``` -------------------- * 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 ``` ### 2.3.2 ``` -------------------- * 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 ``` ### 2.3 ``` -------------------- * 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 (&x27;) - 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