-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
CHANGELOG
6642 lines (6520 loc) · 426 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2024-09-26 3.6:
--------------------
* bugfixes:
- #4951 ModelExtensions - all resources from a whole module are loaded
- #7524 GroupFilter only accepts strings
- #13827 [component: bokehjs] [BUG] Lack of range expansion when there remains unbounded directions, even when `maintain_focus=False`
- #13886 [component: bokehjs] [BUG] NPM package has types (*.d.ts) in incorrect location
- #13957 [component: bokehjs] Explicit selection glyph example broken
- #13959 [BUG] Reset Tool Error in Bokeh Gridplot with Single Plot
- #13964 [component: bokehjs] [BUG] page won't render if CustomJS args has a dict with key "constructor"
- #13965 [component: bokehjs] [BUG] CategoricalSlider shows ‘undefined’ value and skip that value
- #13972 BOKEH_MINIFIED not working
- #13984 [component: tests] [BUG] Deprecation warning treated as error in pytest hook
- #14014 [component: bokehjs] [BUG] StringFormatter `nan_format` seems broken
- #14054 [component: bokehjs] [BUG] Custom hover tooltip on image plot shows all the image data.
- #14058 [component: bokehjs] [BUG] Clearing selection with ESC only works on first selection tool
- #14068 [component: bokehjs] [BUG] Unable to change figures displayed by altering children attribute of gridplot (or other layout classes) in JS callback
- #14072 [component: bokehjs] [BUG] Spinner input not responding to wheel event
- #13968 [component: docs] fix indentation in `offset` parameter for `Title`
- #14038 [component: bokehjs] Allow `is_equal(0, -0)` to be true to match `===`
- #14055 [component: docs] fix some typos
- #14065 [component: build] Generate correct `*.d.ts` files for CSS modules
* features:
- #601 [component: bokehjs] Add support for click events on categorical axes
- #11104 [component: bokehjs] [FEATURE] Option for DataTable column sorting to place NaNs last
- #13130 [component: bokehjs] Add CustomJSTicker
- #13893 [component: bokehjs] [FEATURE] Custom sorting of columns in a table
- #13905 [component: bokehjs] [FEATURE] triangle relative size by data units
- #13921 [FEATURE] Attach ScaleBar to subplot range
- #14035 [component: bokehjs] Add WebGL implementation for Ngon glyph
- #14031 [component: bokehjs] Add "open image in a new tab" mode to save tool
- #14033 Add support for click-style pan tools
* tasks:
- #12303 [FEATURE] Improved error message on token expiry
- #13835 [FEATURE] NumPy 2.0 support
- #13960 [component: docs] Remove sampledata download in contributing guide
- #13963 [FEATURE] Add a conda channel for rc releases
- #13969 [component: bokehjs] [BUG] Plots fail in Firefox 115.12.0esr (64-bit)
- #13946 [component: build] Upgrade to TypeScript 5.5
- #13977 [component: bokehjs] Make `GlyphRenderer` generic in glyph type and remove a lot of `any` types
- #13992 Remove docker and old integration tests cruft
- #14019 [component: docs] Python docstring argument fixes
- #14021 [component: docs] Fix HTML/CSS warning for palette group detail
- #14023 [component: docs] Remove outdated known issues list from BokehJS docs
- #14024 [component: docs] Update setup and testing docs dev guide
- #14037 [component: bokehjs] Clean up factor range and add factor method
- #14048 [component: bokehjs] Add missing `abstract` modifier to classes
- #14051 [component: bokehjs] Use pseudo type members to avoid casting
- #14052 [component: bokehjs] Make `PaletteSelect` use stylehseets instead of inline styles
- #14056 [component: bokehjs] Upgrade to TypeScript 5.6
- #14064 [component: build] Add `script:watch` task for incremental builds
- #14067 [component: build] Upgrade `@types/node` and fix npm audit's concerns
- #14071 [component: docs] fix a typo
- #14074 [component: docs] Bring 3.5.x point release notes to 3.6.0
- #14075 [component: docs] Add release notes for bokeh 3.6.0
2024-07-04 3.5:
--------------------
* bugfixes:
- #8766 [component: bokehjs] box_select not working as active_drag for gridplot
- #12638 [component: bokehjs] Make Slider and Image available in BokehJS (JS only)
- #13515 [component: tests] CI unit-test on Python 3.9 fails systematically
- #13623 [component: bokehjs] [BUG] TextAreaInput resizable=False doesn't set resize: none
- #13720 [component: docs] Explanation is part of the code block in the latex_axis_labels_titles_labels example
- #13766 [component: bokehjs] [BUG] Dropdown doesnt update properly when .menu changed in 3.4
- #13771 [component: bokehjs] GMap example not showing glyphs
- #13787 [component: bokehjs] [BUG] DataTable inside Dialog
- #13789 [component: docs] [BUG] JS errors on Bokeh docs page
- #13824 [component: docs] activate pydata-sphinx-theme version banner
- #13834 [component: build] bokehjs' build fails on Windows with no explanation
- #13844 [component: build] [BUG] cannot build environment with pixi due to `firefox =>96` constraint
- #13848 Can't build extensions on Windows
- #13852 [component: bokehjs] [BUG] <b> and <strong> ignored in tooltips on Firefox
- #13878 [component: bokehjs] Bokeh.Plotting.figure.circle in bokehjs can't find `x` and `y` in a ColumnDataSource
- #13894 [component: bokehjs] `Tooltip` is initially attached to the DOM when it shouldn't be
- #13895 [component: bokehjs] Inner canvas layers need `overflow: hidden` after PR #13863
- #13897 [component: docs] [BUG] Typing of layouts.gridplot expects wrong type if ncols given
- #13902 Release build fails after PR #13901
- #13910 [component: tests] Tests/CI fail due to a regression in requests 2.32.0
- #13912 [component: bokehjs] [BUG] Dialog and Datatable don't get along well
- #13919 [component: bokehjs] [BUG] Bokeh 3.5 no longer allow custom properties for HTMLAttr
- #13923 [component: bokehjs] `Tooltip.content` doesn't rebuild views on change
- #13948 [component: docs] Version banner warns about unknown version on latest docs after 3.4.2 release
- #13951 [component: bokehjs] [BUG] Image Glyph causing tons of unnecessary calls to set_data
- #13822 [component: docs] remove consecutive "the" and fix typos in touched files
- #13879 [component: docs] Fix broken example in user guide advanced bokehjs
- #13884 [component: docs] silence warning in `theme_glyphs.py`
- #13908 [component: bokehjs] Fix `CartesianFrame`'s position and generalize `rendering_target()`
- #13926 [component: docs] Remove `blob/main` and `tree/master` from references
- #13927 [component: docs] update path in readme for server examples
- #13939 [component: docs] correct version string to match dev name from switcher.json
- #13940 [component: bokehjs] Fix initialization of `AjaxDataSource` and add tests
* features:
- #8289 [component: bokehjs] Permanent labels on Networkx graph
- #10439 [component: bokehjs] Activate wheel zoom by default with BokehJS
- #12185 [component: bokehjs] [FEATURE] Legend click events
- #12759 [component: bokehjs] [FEATURE] Support using CSS Variables in place of colors
- #13599 [FEATURE] Support formatters when using Template as HoverTool
- #13646 [FEATURE] Support BoxSelectTool-like range-setting for the RangeTool
- #13652 [FEATURE] `HTMLLabel` to support `stylesheets` and `css_classes`
- #13673 [FEATURE] Add Carbon Theme
- #13728 [FEATURE] Create option for wheel zoom tool to apply only to subplot nearest to the cursor position
- #13792 [component: server] [FEATURE] Allow bokeh server embed script to forward credentials
- #13861 [FEATURE] Support directory upload and clearing inputs from Python for `FileInput` widget
- #13935 [FEATURE] Allow extensions to register server side events
- #13936 [component: bokehjs] `AjaxDataSource.if_modified` not implemented
- #13467 [component: bokehjs] Add scale up boundary to datetimetickformatter
- #13810 Add support for `BoxAnnotation.inverted`
- #13890 Add support for server sent bokeh/model/UI events
- #13906 Add support for resize and drag handles to `BoxAnnotation`
* tasks:
- #11745 [component: docs] Need examples of callbacks with BokehJS
- #13791 [component: docs] [DOC] Boxplot example: some whiskers and vbar are rendered slightly asymmetrically and boldly
- #13831 [component: bokehjs] Tap tool default mode should select+unselect, but not append
- #13856 [component: build] Move sampledata files to pip/conda installable package
- #13634 Drop support for Python 3.9 and modernize the codebase
- #13686 [component: examples] added metadata to spans and strips example
- #13731 [component: examples] Add metadata to the data_models.py in plotting example
- #13735 [component: bokehjs] Improve type safety of DOM elements on `core/dom`
- #13747 [component: build] Upgrade to TypeScript 5.4
- #13770 [component: bokehjs] Remove legacy font measurement logic
- #13778 [component: bokehjs] Simplify eslint's configuration
- #13802 [component: build] Update bokehjs' dependencies and clear dependabot alerts
- #13839 [component: server] remove unnecessary code from ProtocolHandler.handle
- #13840 Upgrade to mypy 1.10.0 and ruff 0.4.2
- #13847 Upgrade CI actions to most recent versions
- #13860 Remove unused code from `bokeh.models.plots`
- #13862 [component: bokehjs] Redesign `CartesianFrame` as an internal model/view
- #13863 [component: bokehjs] Generalize bbox handling in UI views (DOM and canvas)
- #13877 [component: bokehjs] Replace `PlotView.renderer_view()` with generic `ViewQuery`
- #13882 Remove old deprecations
- #13889 [component: docs] Repository cloning issues
- #13892 Unify definitions of enums in `bokeh.core.enums`
- #13925 [component: build] Add `http://` to devtools server
- #13961 Final preparations for 3.5.0 release
2024-03-14 3.4:
--------------------
* bugfixes:
- #6826 [component: bokehjs] Tap events not registering during MouseMove events
- #8508 [component: bokehjs] Tap event latency
- #10782 [component: bokehjs] Typo in prelude.ts
- #11794 `BOKEH_DEV=true` assumes file resources when using the server
- #12088 [component: bokehjs] [BUG] Select widget has no value if only options are provided but the UI suggests otherwise
- #12616 [component: bokehjs] [BUG] installing bokehjs from npm doesn't pull in dependencies
- #12870 [component: bokehjs] [BUG] DatetimeTickFormatter strips leading 0 in "%H" format, works in " %H"
- #13071 [component: bokehjs] [BUG] Pinching zoom-in on touch devices
- #13131 [component: bokehjs] roots added in a callback are not displayed
- #13157 [component: bokehjs] Prevent blink when updating ImageURL source
- #13281 [component: bokehjs] font-size does not depend on --font-size css variable
- #13293 [component: bokehjs] [BUG] _hit_point() is broken in VAreaStep
- #13337 [component: bokehjs] [BUG] `output_notebook(resources=INLINE)` in jupyter lab does not load jquery
- #13362 [component: bokehjs] [BUG] Inconsistent handling of background and border fill alpha
- #13378 [component: bokehjs] [BUG] `Axis.major_label_overrides` being `{}` causing error in deserialization
- #13389 Unable to clone models with readonly properties
- #13421 `bokehjsdir(dev=True)` doesn't resolve `bokehjs/build` anymore
- #13441 [component: bokehjs] [BUG] filter.booleans doesn't trigger the re-render of the plot
- #13483 [component: bokehjs] [BUG] RangeTool does not respect target `max_interval`
- #13499 [BUG] Latex does not render in Notebook
- #13500 [component: bokehjs] [BUG] Box edit tool using all supported glyphs
- #13520 [component: bokehjs] [BUG] Template does not seem to render correctly in Firefox
- #13524 [component: docs] [BUG] Missing SRI hash for version 2.2.2
- #13525 [component: docs] [BUG] Unexpected attribute 'size' to Circle
- #13536 [component: bokehjs] ColumnDataSource.selected.indices incompatibility with CDSView.filter.indices [BUG]
- #13555 [component: bokehjs] [BUG] image hover value is wrong on inverted axes
- #13558 [component: build] Release build CI workflow fails
- #13563 [BUG] Return type of the Model.__new__ function is incorrect
- #13583 [component: tests] `minimal-deps` CI job fails with "coroutine was never awaited"
- #13598 [component: bokehjs] [BUG] Improve NaT support for HoverTool
- #13607 [component: bokehjs] [BUG] Multiple inline math elements in different axes causing axis labels to disappear
- #13611 [component: bokehjs] [BUG] Layout won’t update after curdoc().unhold()
- #13637 [BUG] Regression handling glyph border_radius that is a dict
- #13648 [component: bokehjs] [BUG] WebGL Rect with large corner radius rendered incorrectly
- #13678 [component: bokehjs] [BUG] Using tap tool makes image glyph disappear with webgl enabled
- #13679 [component: examples] Deprecation warning in notebook_embed.ipynb
- #13688 Useless error formatting can be sometimes costly in on_change setup
- #13698 [component: docs] Missing links in docs in "Third-party integrations" page
- #13716 Errors related to MIN_PREFERRED_MAX_WIDTH while building the docs
- #13717 [component: docs] Broken page in the docs
- #13729 [component: docs] [BUG] Documentation Missing space character in the command to enable jupyter server extension in jupyterLab docs.
- #13739 [component: docs] [BUG] Documentation: TypeScript in Custom Extensions section fails to compile
- #13743 VBox is not working in 3.4.0rc1
- #13755 [component: bokehjs] [BUG] Button does not updated when property is changed
- #13756 [component: bokehjs] `Tooltip` node positioning is wrong when the target is offset
- #13713 [component: build] Fix logic in plugin prelude
- #13718 [component: docs] add MathTextGlyph to imports
- #13737 [component: build] Include generated TS modules in extensions' build
- #13741 [component: bokehjs] Avoid spurious warning about Py/Js version mismatch
- #13758 [component: docs] fix broken link in first_steps_9.rst
* features:
- #2367 Different sizes not used for selection & nonselection glyphs
- #4284 Add attribution annotation
- #4416 Add support Title/Label bounding box padding
- #8153 [component: bokehjs] Feature Request: Hide some (but not all) tools from toolbar
- #8519 Overlapping attribution for labels tiles
- #8898 [component: bokehjs] Allow Select to accept non-string option values
- #9843 categorical slider
- #10317 [BUG] Cannot deselect with TapTool
- #10583 The empty_value property of EditTools needs generalizing
- #12243 [FEATURE] DataTable from_dataframe()
- #12651 [BUG] bokeh.plotting.graph.from_networkx fails on graphs having nodes with string index values
- #13291 [FEATURE] Inline widgets for data entry
- #13349 [component: bokehjs] Tooltip for tab panels
- #13682 [FEATURE] - DataTable - Conditional Formatting
- #13697 [component: bokehjs] [BUG] HoverTool can't adress source with `ö`
- #13612 Add support for math text glyphs
- #13625 Allow users to provide custom units of measurement
* tasks:
- #3529 Unify dev and non-minified resources
- #9684 [component: bokehjs] If BokehJS isn't available, error message should be displayed
- #10157 [component: examples] Replacing Iris data with penguin data
- #12941 [component: build] Don't upload ESM files to CDN
- #13246 Complete the consolidation of scatter markers in bokeh.plotting
- #13381 [component: docs] Document new-style (ESM) JS callbacks
- #13387 [component: docs] [FEATURE] Improving the "Deployment scenario" section of the user guide
- #13430 [component: build] Split up _sri.json
- #13485 Update contour line calculations to use ContourPy's LineType.ChunkCombinedNan
- #13533 Errors in codebase CI runs using MyPy 1.7.0
- #13570 [component: docs] Add documentation and tests for non-visual overrides (PR #13554)
- #13585 [component: bokehjs] [BUG] HTML `<label>` elements are not referencing the item they are labeling
- #13629 Use globally unique and CSS safe IDs in `<script type="application/json">`
- #13667 [BUG] Display Greek small letter mu
- #13669 [component: examples] Stadia tiles not displaying
- #13680 Remove year or year range from copyright notices
- #13700 [component: docs] [BUG] Outdated link in warning for standalone Python callback
- #13734 [component: docs] Typo in the documentation related to writing tests in the Contribute section
- #13736 [component: docs] App README links are all old / bad
- #13096 [component: examples] Show how to reference the same field multiple times in hover tool's formatters
- #13448 Use `Never` type if function doesn't return
- #13449 [component: bokehjs] Use curly brackets in bokehjs for all statements
- #13450 [component: bokehjs] Remove `bokehjs/src/lib/testing.ts`
- #13451 [component: bokehjs] Add support for function callbacks in bokehjs
- #13465 [component: tests] Robustify type expectations greatly reduce `!` usage in tests
- #13470 [component: examples] simplify and use more latex ticks
- #13481 [component: bokehjs] Fix unawaited promises and modernize interactive tests
- #13493 [component: tests] Optimize performance of loading visual baselines
- #13537 Rename `ColorMap` to `PaletteSelect` and improve it
- #13539 [component: docs] Update server example URLs
- #13540 [component: bokehjs] Decouple `Tool` event handlers from state/active management
- #13565 [component: build] Migrate bokehjs' bundles from ES2017 to ES2020
- #13575 [component: examples] Added metadata to position_toolbar.py, position_toolbar_clash.py, and toolbar_autohide.py
- #13582 [component: tests] Sort defaults' baseline by fully qualified names
- #13586 [component: bokehjs] Added `for` tag to HTML `<label>` element to reference input fields
- #13601 [component: bokehjs] Upgrade TypeScript to version 5.3 and upgrade other depenencies
- #13605 [component: build] Relativize imports paths also in type declaration files (`*.d.ts`)
- #13610 [component: build] Don't use implicit command-line arguments in bokehjs
- #13651 [component: bokehjs] Use simpler shader for rect-like glyphs without rounded corners
- #13689 Improve `PlainObjectProxy` and remove unnecessary `hasOwnProperty()`
- #13693 Upgrade nodejs to 20.x (LTS) in CI
- #13701 [component: bokehjs] Normalize enum definitions in bokehjs; remove redundancy
- #13703 [component: bokehjs] Finalize migration to obligatory curly brackets
- #13707 Upgrade mypy, pandas-stubs and ruff and fix issues
- #13709 [component: docs] Update examples for legends
- #13722 Rename property kinds that conflict with JS builtins
- #13724 [component: tests] Ignore `pytest.PytestUnraisableExceptionWarning`
- #13744 [component: docs] Update bokeh 3.4.0 release notes
- #13746 [component: docs] remove double space in example code
- #13753 [component: docs] Add documentation for `ScaleBar` annotation
2023-10-10 3.3:
--------------------
* bugfixes:
- #7671 [component: bokehjs] Tool tip remains while using a scroll tool
- #11273 [component: bokehjs] [BUG] hover tooltip is cut off when the tooltip is tall and hover near the top of the plot
- #13170 [component: server] [BUG] Static paths loaded always from localhost in Bokeh 3.1.1
- #13195 [component: bokehjs] [BUG] WebGL with dashed line is not working when click_policy is muted
- #13196 Setting readonly properties in model constructors shouldn't be allowed
- #13257 [BUG] FileNotFoundError when setting icon for BoxSelectTool
- #13284 [component: bokehjs] Reset WebGL changed flags on data glyph not visual glyphs
- #13311 [component: tests] Bokeh build failing
- #13315 [component: bokehjs] [BUG] RangeTool allows target plot to pan beyond explicit range bounds
- #13323 [component: bokehjs] Layout is broken when using `RangeTool` and other weird behavior
- #13347 [component: bokehjs] Long tooltip can trigger viewport scrollbars
- #13369 [BUG] gridplot got multiple values for keyword argument 'logo'
- #13377 [component: bokehjs] [BUG] `value_throttled` being `Unset` prevents serialization of some widgets
- #13380 [component: tests] Examples tests are failing due to a missing dependency
- #13400 [component: build] Release build fails with `FileNotFoundError`
- #13407 [component: tests] Tests and CI is broken due to urllib3 incompatibility
* features:
- #2325 [component: bokehjs] Lasso select not working on patches
- #11571 [FEATURE] Make AutocompleteInput more usable by providing an option to match any part of the input items
- #11755 [FEATURE] Show scale in map
- #13200 [FEATURE] Preserve category information for categorical colormapping
- #13203 [FEATURE] Make BoxEditTool support Quad Model
- #13210 Unable to plot a polars.Series with bokeh 3
- #13211 [component: bokehjs] Allow inline LaTeX support
- #13295 Non-specific error when the DataFrame Used to construct a ColumnDataSource contains non-string keys
- #13339 [FEATURE] Allow zoom tools to scale subplots/subcoordinates
- #13403 [FEATURE] Transparent use on JupyterHub
- #13212 Add more options for specifying contour colors
- #13269 Add support for `ColorMap` (palette selector) widget
- #13366 Add stack_labels property to WeightedStackColorMapper
* tasks:
- #8807 Support scale factor for PNG output
- #12548 [component: docs] Unpin Sphinx theme
- #12625 export_png doesn't find chrome webdriver because it was installed as chromedriver-binary
- #13125 Replace utcnow and utcfromtimestamp function calls
- #13136 [component: bokehjs] WebGL support for image glyphs
- #13324 Selenium deprecation warning because of log_path
- #13329 Restore full top-menu in docs
- #13330 Foward-port 3.2.2 SRI hashes and changelog
- #13356 [component: docs] Update tutorials URL to new tutorial
- #13360 [component: docs] Explicitly document conf.py changes for bokeh.sphinxext
- #13385 [component: docs] [FEATURE] Document location of intersphinx file
- #13392 [component: docs] [BUG] Interspinx link added by me in #13386 is wrong
- #12068 [component: examples] Add a variant of ridgeplot example that uses sub-coordinates
- #13175 [component: bokehjs] Implement WebGL multi_line glyph
- #13193 [component: bokehjs] Hover tooltip for ImageStack glyph
- #13215 Use PEP 673 `Self` type instead of `TypeVar(..., bound=...)`
- #13227 Forward ports from 3.2
- #13301 [component: bokehjs] Improve WebGL conversion to ReGL AttributeConfig
- #13304 [component: tests] Allow to configure Chromium executable
- #13309 [component: tests] Allow to serve bokeh examples from bokehjs' devtools server
- #13327 [component: tests] Mark Test_webdriver_control and test_get_screenshot_as_png_* as selenium tests
- #13333 [component: bokehjs] Don't `set_data()` when `FactorRange.{start,end}` changes
- #13334 [component: bokehjs] Improve performance of invalidation of refs in bokehjs
- #13342 Upgrade to ruff 0.0.285
- #13343 [component: bokehjs] Control random (and np.random) seed in devtools' server
- #13352 [component: build] Upgrade to TypeScript 5.2
- #13353 [component: docs] 13276 fix issues in documentation part two
- #13368 [component: docs] Add more examples in the gallery
- #13376 [component: docs] added gallery json and png file to new example
- #13398 [component: docs] Clarify CODE_OF_CONDUCT.md escalation section
- #13399 [component: docs] Update 3.3.0 release notes
- #13405 [component: docs] fix tile_providery.py
- #13408 [component: examples] Correlogram example.
- #13417 [component: docs] Update and restructure categorical chapter
- #13418 Misc 3.3 docs changes
- #13419 [component: build] Add Python 3.12 to CI
2023-08-13 3.2.2:
--------------------
* bugfixes:
- #13265 [BUG] Merging tools in `gridplot` leads to wrong active state next to tool icon
- #13288 [BUG] construct_color_bar does not support ImageStack glyph
- #13307 [component: tests] Incorrect file docstrings in tests/support/plugins directory
- #13314 [BUG] CDS stream broken for larger rollover
* tasks:
- #13126 [component: examples] [BUG] Mismatch in GroupFilter documentation example between text and code
- #13305 [component: docs] 13276 easy fixes in documentation
- #13326 Backports for 3.2.2
2023-07-20 3.2.1:
--------------------
* bugfixes:
- #13139 [component: bokehjs] Error in downstream library when rendering WebGL canvas with width or height of zero
- #13162 [component: docs] Broken link in docs/first_steps/first_steps_9.html
- #13248 [component: bokehjs] [BUG] Browser freezes when deleting notebook cell containing plot with TileSource
- #13252 [component: bokehjs] [BUG] plots in png generated by SaveTool on gridplot layout overlap
- #13255 [component: bokehjs] [BUG] Enabling/Disabled DatePickers does not work
- #13262 [component: bokehjs] [BUG] Legend draws 3 columns but `ncols` is set to 2
- #13254 [component: bokehjs] Use `../core/kinds` instead of `core/kinds` in imports
- #13270 [component: docs] Update theme.py
- #13274 [component: docs] fix unterminated string literals in example code [skip ci]
* tasks:
- #13226 [component: bokehjs] [FEATURE] make bokehjs ndarrays cloneable to enable client-side image transforms
- #13272 [component: docs] update docs to show legend support for `nrows` and `ncols`
- #13271 Backports for 3.2.1
2023-06-21 3.2:
--------------------
* bugfixes:
- #11852 [BUG] DataRange.renderers.append fails silently
- #12078 [component: bokehjs] [BUG] Non-circle hover glyphs permanently rendered with vline/hline mode
- #12718 [component: bokehjs] [BUG] Changing view's filter with group based legend causes redraw in canvas to be shifted
- #12951 [component: bokehjs] [BUG] bokeh.models.Tooltip causes rendering error
- #12956 [component: bokehjs] [BUG] DataTable requires custom scaling in Bokeh 3.1.0
- #13015 [BUG] select(CategoricalColorMapper) returns an empty array
- #13112 [component: bokehjs] [BUG] Setting source.selected.indices fails on glyphs that contain text
- #13134 [component: bokehjs] [BUG] IndexFilter indices no longer accepts numpy.ndarray
- #13150 [component: bokehjs] [BUG] Nodes of networkx graph not rendered using webgl backend
- #13152 [component: tests] Tests fail due to `requests` and `urllib3` 2.x incompatibility
- #13159 [component: docs] [BUG] Small typos in the docs
- #13182 [component: bokehjs] [BUG] legend_field labels no longer update with CDS in Bokeh 3
- #13187 [component: docs] [BUG] Missing import in minimal example in dom.rst
- #13192 [component: bokehjs] [BUG] Cannot reset enabled_dates in DatePicker
- #13197 Release deploy fails with `AccessDenied` when publishing documentation
- #13217 [component: bokehjs] js_link is broken
- #13222 [component: docs] Search bar is missing from dev docs
- #13135 [component: docs] Fix typo
- #13202 [component: docs] Update theme.py
* features:
- #7093 [component: bokehjs] A ColorBar needs a label, as a plot needs a ColorBar
- #12062 [component: bokehjs] [FEATURE] Support varea with step lines
- #12532 [FEATURE] Access to know whether user ctrl-clicks, shift-clicks, or command-clicks in CustomJS callback
- #12829 [FEATURE] Independent extra ranges in a single figure
- #13036 Ability to rotate axis labels by adding 'axis_label_orientation'
- #12677 Add support for `HSpan`, `VSpan`, `HStrip` and `VStrip`
- #12704 Add webgl support to `Annulus`, `Wedge` and `AnnularWedge`
- #12812 Add support for ES module (`import`/`export` syntax) callbacks
* tasks:
- #7156 [component: build] Standalone mode: images referenced in CSS files are missing
- #12278 [component: tests] Add a method for generating bokehjs' JSON tests assests
- #12872 [BUG] ResourceWarning: unclosed file
- #12936 [FEATURE] Update ruff to include W291 (trailing whitespace)
- #13058 Check if sample data files are outdated before loading them
- #13114 [BUG] bokeh.embed.file_html produces unhelpful error message if passing a Document with no root models
- #13116 [component: examples] Burtin example has a bad tick format
- #13117 Update AWS CI role for docs deploy
- #13122 [component: build] sdist builds require git tags
- #13143 [BUG] Ruff pyupgrade keep-runtime-annotations is obsolete.
- #12720 Drop support for Python 3.8
- #12920 [component: docs] Added metadata to legends.py
- #12922 [component: examples] Updated colors of Band Plots
- #12923 [component: docs] added accessible color palette
- #12944 Forward ports from 3.1
- #12950 added metadata to twin_axis.py
- #12953 [component: examples] Update to Bokeh example plot: accessible palette with new images
- #12959 [component: examples] Increased alpha of the circle plot
- #12967 [component: docs] 11765 add metadata to plots
- #12970 Added Images for new Band Plots
- #12975 [component: docs] added metadata to legends_item_visibility.py
- #12977 [component: build] Upgrade to TypeScript 5.0
- #12979 [component: docs] Add metadata to plots (#11765)
- #12982 [component: docs] Update example metadata
- #12983 [component: examples] Improve color contrast for accessibility
- #12984 [component: docs] Added reference for server.py file
- #12990 [component: docs] Update text.py with metadata
- #12991 [component: docs] Added metadata to setvalue.py
- #12992 [component: docs] Update metadata to legend_hide and tile_xyzservices
- #12993 [component: docs] Added metadata to label.py and whisker.py
- #12995 [component: docs] Updated server.py reference
- #12998 [component: docs] Added metadata to band.py for Band Plots
- #12999 [component: examples] Updated colors of Twin Axes Plots
- #13006 [component: docs] Add metadata to image alpha
- #13012 [component: docs] Added metadata to examples/plotting/aspect.py
- #13013 [component: examples] Updated colors of Slope Plots
- #13018 [component: examples] Updating nested_colormapped with new accessible palettes
- #13022 [component: docs] Line select metadata
- #13023 [component: docs] 11765 maps cities
- #13024 [component: examples] changed span example lines from solid to dashed
- #13031 Updated colors of Mixed Plots
- #13043 [component: docs] added metadata to tooltip_content.py, arc.py
- #13047 [component: docs] Added metadata to theme_glyphs
- #13050 [component: docs] added metadata to examples/plotting/polar.py
- #13051 [component: docs] Added metadata for examples/models/toolbars2.py
- #13069 [component: examples] Disable `na_filter` instead of ignoring incorrectly parsed NaNs
- #13094 [component: docs] Update docs infrastructure
- #13140 [component: bokehjs] Do not blit webgl canvas if width or height are zero
- #13142 Improve handling of resources in lower level embed APIs
- #13145 Upgrade to ruff 0.0.269 and further modernize bokeh's codebase
- #13146 [component: bokehjs] Separate type imports from value/mixed imports in bokehjs
- #13153 [component: server] Allow to recover from deserialization of a previously seen ref
- #13169 [component: docs] Don't turn warnings into errors in sphinx-build
- #13173 [component: bokehjs] Clean up the rest of eslint warnings and refactor its config
- #13174 Do not resolve default descriptor value if already present in unstable defaults
- #13178 [component: docs] Add ColorBar to LaTeX docs
- #13208 [component: docs] Update bokeh 3.2.0 release notes
- #13220 [component: examples] remove text duplicate in burtin.py
- #13221 [component: examples] Remove unneeded backslash in LaTeX [skip ci]
2023-05-05 3.1.1:
--------------------
* bugfixes:
- #10547 [BUG] Division element id of components can be invalid for CSS
- #12400 [component: server] [BUG] Domain is not resolved correctly when using BOKEH_RESOURCES=server
- #12905 `load_notebook()` uses non-unique DOM element IDs
- #12913 [component: bokehjs] [BUG] Artifacts on the signal when using WebGL to plot
- #12926 [component: build] bokehjs' build fails on Windows 10 due to creating symlinks
- #13056 [component: examples] `autocompleteinput.py` example doesn't work with pandas 2.0
- #13060 [component: docs] `README.md` in `examples/` doesn't reflect the contents of the directory
- #13081 [component: bokehjs] [BUG] Incorrect behaviour of Slider control on Safari (macOS)
- #13104 [component: bokehjs] Heavy `lazy_initialize()` can result in a race condition
- #13108 [BUG] Fix broken link to tools guide
- #13062 Fix bokeh.sphinxext.util after PR #13041
- #13070 [component: server] Fix `MultiRootStaticHandler` after PR #13041
- #13086 [component: docs] fix broken docs refs
- #13100 [component: bokehjs] Fix race conditions related to layout resize and updates
* tasks:
- #6683 [component: bokehjs] accent are sorted last in sorted Tablecolumn
- #10408 [component: bokehjs] Investigate duplicated `ctx.stroke()` in various hatch patterns
- #11335 [component: build] Display a list of installed dependencies and related software in CI
- #11782 [component: bokehjs] [FEATURE] Propagate Name attribute to js for all Models
- #12729 [component: docs] [BUG] [docs] Serializer cannot serialize decimal.Decimal
- #12790 [component: tests] Complete unit tests for BokehJS mathematical array functions
- #12814 [component: build] Check for existence of git tags early on in build process
- #12909 [component: docs] dev guide has incorrect links to executables in the github
- #12914 Disable miniconda-setup Post step on Windows
- #12954 Prune latest docs properly
- #13001 [component: docs] Carriage returns error on Windows systems. [BUG]
- #13053 [FEATURE] Set `Cross-Origin-Resource-Policy: cross-origin`
- #12939 [component: docs] add ref
- #12963 [component: tests] Temporarily disable docker_from_wheel test in CI
- #12973 [component: docs] Fix tiny error in doc code-block
- #13003 [component: docs] Added metadata to line_on_off.py
- #13009 [component: docs] Add dropdowns to contributor docs troubleshooting
- #13026 [component: docs] Tile source metadata
- #13035 Increase the number of iterations in CSS safe ID generator
- #13054 [component: docs] Update In-kind sponsors list
- #13065 [component: build] Allow `static/` symlinks in `BOKEHJS_ACTION=install pip install -e .`
- #13084 [component: docs] Update first_steps_1.rst
- #13103 Backports for 3.1.1
2023-03-09 3.1:
--------------------
* bugfixes:
- #5829 [component: bokehjs] PolySelectTool area remains the same at all zoom levels
- #6931 "Slider" widget: omitting a required argument does not produce error message
- #8180 [component: bokehjs] HoverTool not working with RangeTool
- #9047 [component: bokehjs] [BUG] Can't interact with multiple RangeTools
- #9381 [component: bokehjs] [BUG] range_tool broken on inverted axes
- #9752 [component: bokehjs] [BUG] Hover tool not working correctly for rotated rectangles
- #10749 [component: bokehjs] [BUG] Plaintext copy-pasted from DataTable has a different order
- #10769 [component: bokehjs] [BUG] Dates in DataTables appear as zero-epoch
- #11830 [BUG] TypeError when customizing tools icon using PIL Image
- #11955 [component: bokehjs] [BUG] Replacing filter of CDSView does not trigger update of DataTable
- #11969 [component: bokehjs] [BUG] DataTable rendering behaves inconsistently for different indices of an IndexFilter
- #11994 [BUG] Allow reset of DatePicker to empty date
- #12315 [component: bokehjs] [BUG] ColumnDataSource does not work with NumPy floating-point scalars
- #12331 [component: bokehjs] [FEATURE] enable linebreaks in legend labels
- #12379 Figure out why `HexTile` with `pointytop` orientation and `aspect_scale=0.5` fails
- #12410 [component: bokehjs] Hover tool can point to data outside of the frame
- #12540 Handle Datetime values consistently in annotations
- #12574 [component: docs] [BUG] `bokeh.core.json_encoder.serialize_json` doesn't work as shown in example
- #12584 [component: bokehjs] [BUG] MultiChoice dropdown and autocomplete
- #12592 [component: bokehjs] Rect hit testing on circles is overzealous, at least by the default
- #12610 light_minimal theme is missing
- #12614 [component: bokehjs] [BUG] sizing_mode='stretch_both' broken in gridplot (bokeh 3.0.2)
- #12624 [BUG] bokeh v3 ColumnDataSource.selected.indices no longer works with ndarray
- #12666 [BUG] Performance differences between v2 and v3
- #12674 [component: docs] Ref guide autoclasstoc links are missing
- #12678 [component: bokehjs] [BUG] tooltips disappear when range of image is reversed
- #12700 [component: bokehjs] ReGL initialization is excessively and unnecessarily slow in tests
- #12709 [component: bokehjs] [BUG] DatePicker kills layout
- #12710 [component: docs] [BUG] CheckboxGroup minimal example in the documentation (Widgets and DOM elements 3.0.3) does not work properly
- #12714 [component: bokehjs] [BUG] Updating DatePicker css_classes from callbacks not working
- #12719 Type check errors due to updated `pandas-stubs`
- #12730 [component: docs] [BUG] No such file: examples/plotting/marker_map.py
- #12731 [component: bokehjs] [BUG] Possible regression: pinching not working with wheelzoomtool
- #12735 [component: bokehjs] [BUG] hatching scales differently on different displays
- #12756 [component: examples] Custom tooltip example mis-renders
- #12757 [component: bokehjs] Custom extension examples do not work
- #12767 [component: docs] [BUG] No module named 'bokeh.server.tests'
- #12776 [component: bokehjs] [BUG] DataTable does not output true/false for numpy arrays
- #12778 [component: bokehjs] `RangesUpdate` is not emitted for linked plots
- #12783 [component: bokehjs] [BUG] HasProps does not record references for models declared inside Map objects
- #12784 [component: bokehjs] [BUG] BokehJS interpolate doesn't handle length-1 arrays
- #12788 [component: bokehjs] [BUG] Streaming broken when switching from Array to TypedArray
- #12797 [component: bokehjs] There are dots in HTML class names
- #12799 [BUG] Time to add glyph with legend label grows exponentially with number of existing glyphs
- #12805 [BUG] Serialization of new models breaks with Document.hold()
- #12838 [BUG] Cannot serialize pd.NA
- #12839 [BUG] Cannot serialize pandas numeric arrays
- #12846 [component: docs] Update Docs for GlyphRenderer
- #12850 [component: docs] Missing title in docs for glyphs
- #12857 [component: docs] [BUG] Example in "Setting up a development environment" doesn't exist anymore
- #12863 [BUG] GridPlot sizing mode not respected
- #12864 [BUG] GridPlot does not combine tools with different renderers
- #12876 [component: bokehjs] Unnecessary scrollbars can toggle back and forth in layouts
- #12880 [component: bokehjs] Editable `BoxAnnotation` doesn't respect symbolic coordinates
- #12883 [component: bokehjs] css_classes example not working
- #12885 [BUG] Pandas series encoding can fail with pyarrow dtypes
- #12888 [component: bokehjs] Layout collapses when using `FullscreenTool` in Chromium
- #12894 [component: server] [BUG] Server does not allow websocket connection on unix socket
- #12917 [component: bokehjs] Candlestick chart broken
- #12924 [component: docs] Thumbnails not being rendered in docs gallery
- #12698 [component: docs] Fix typo.
- #12725 [component: bokehjs] Refactor `qbb()` and `cbb()` and fix usage of `cbb()`
- #12754 [component: bokehjs] Update Tabler icon CSS URL
- #12766 [component: bokehjs] Fix svg rotated ellipses
- #12809 [component: bokehjs] Consider margins when using `100%` width with `max` policy
- #12822 [component: tests] Resolve issues with headless Chromium 110
- #12866 [component: bokehjs] Build bokehjs' examples in CI and fix errors
- #12882 Fix alignment in `_templates/file.html`
* features:
- #3412 Add support for persistent selection overlays
- #3880 ncol and nrow in Legend object
- #4272 Hook for callback upon document init
- #8592 Allow models.Span.location to accept categorical values
- #8926 [component: bokehjs] [FEATURE]Change date format of DatePicker
- #9194 [component: bokehjs] [FEATURE] Add fill properties to slope
- #11328 [component: bokehjs] [FEATURE] Add JS event on Websocket disconnect
- #11348 [component: bokehjs] Add rounded corners for rect/quad glyphs
- #12157 [component: bokehjs] [FEATURE] MultiChoice: allow flag for the options menu to be closed after an item is selected or not
- #12507 [BUG] Sparse DataFrame can't be plotted without transformation to CDS
- #12529 Add support for background, border, padding, etc. to `Text` glyph
- #12692 [FEATURE] Add visual separation for legend items with multiline text
- #12736 [FEATURE] Add method to construct a ColorBar
- #12752 [FEATURE] Add transform.eqhist_cmap
- #12772 [component: bokehjs] Add configurable option for invoking callback when pressing enter for TextInput
- #12821 [BUG] Cannot plot `pandas.DataFrame` with columns of type string
- #12356 Categorical colormapping of 3D arrays
- #12688 Expose stylesheet model API publicly
- #12749 [component: bokehjs] Implement varying_alpha_palette in BokehJS
- #12789 [component: bokehjs] Add interp_palette function
- #12823 Allow to clone `HasProps` instances
* tasks:
- #6389 [component: tests] Test that bokehjs is npm-installable
- #11653 [component: tests] Test for `MultiChoice` widget
- #12590 Rename `select_every_mousemove` to `continuous`
- #12598 [component: build] Raise min numpy to 1.16
- #12609 [component: tests] Server tests use deprecated API
- #12617 [component: build] [BUG] Runtime error of incorrect option name crashes webapp (Angular)
- #12642 [component: docs] [FEATURE] Add ``text_outline_color`` to docs
- #12647 [component: docs] [BUG] First steps 2 doc figures have low contrast
- #12675 [component: docs] User guide section for CSS stying
- #12684 [component: docs] Docs on load balancing with Apache can be improved
- #12689 [BUG] numpy.bool8 is deprecated
- #12711 [BUG] EncodingWarning in bokeh.resources and bokeh.themes.Theme(...)
- #12716 Codecov not skipping sphinxext
- #12734 [component: docs] [DOCS] rect glyph shouldn't be used on log axes
- #12744 [component: docs] Built-in widgets docs page does not include DateSlider
- #12760 [component: examples] Improve examples' color handling
- #12768 [component: docs] Dev setup docs needs to ensure repo tags
- #12769 Activate bugbear checks in ruff
- #12793 [component: docs] Update docs for release
- #12918 [component: docs] Gallery thumbnails for image examples need updating
- #12919 [component: docs] Date picker gallery thumbnail broken
- #12555 Forward ports for 3.0.1
- #12621 Forward ports from 3.0.2
- #12631 [component: build] Upgrade to TypeScript 4.9
- #12676 [component: bokehjs] Remove legacy `CanvasRenderingContext2D` polyfills
- #12685 [component: build] Add support for CSS modules to extensions' compiler
- #12686 [component: docs] Promote note to warning in docs
- #12694 [component: docs] Fix tooltip ug entry
- #12705 Update copyright statements to 2023
- #12715 [component: bokehjs] Remove legacy CSS styles
- #12723 [component: build] Switch to isolated modules in TypeScript
- #12732 [component: build] Switch to ES2022 tsc compilation target
- #12741 Upgrade `actions/{checkout,cache,...}` to `v3`
- #12743 [component: examples] Added metadata to examples
- #12748 Fix a few typos
- #12755 Update ruff / f-string cleanup
- #12762 [component: bokehjs] Upgrade bokehjs dependencies and refresh `package-lock.json`
- #12770 [component: docs] spelling mistake
- #12792 `DatePicker` improvements and new types of pickers
- #12795 [component: examples] 11765 metadata custom tooltips
- #12810 [component: examples] Added metadata to hover.py
- #12816 Reuse object traversal result when bundling
- #12817 [component: bokehjs] Enable strict boolean expressions lint rule
- #12828 Use ubuntu-latest and nodejs 18.x in CI
- #12836 [component: bokehjs] Don't re-render when `css_classes` or `stylesheets` change
- #12852 Resolve issues with testing on MacOS in CI
- #12853 [component: bokehjs] Enable `switch-exhaustiveness-checks` lint rule
- #12856 Upgrade to ruff 0.0.252
- #12865 [component: build] Check for package-lock.json v3 in release scripts
- #12871 [component: bokehjs] Make `publish = true` the default for `BokehEvent`
- #12915 Warn about already known references, but don't fail
2022-12-09 3.0.3:
--------------------
* bugfixes:
- #12583 [component: bokehjs] [BUG] Nested gridplot collapses figures
- #12611 [BUG] `get_screenshot_as_png`
- #12627 [BUG] sizing_mode="stretch_both" fails since 3.0.0
- #12633 [component: bokehjs] [BUG] Styles are not applied to model in Firefox
- #12640 [component: bokehjs] [BUG] Embedded plot not sized correctly if not visible from the start
- #12623 Ensure change callback manipulation is threadsafe
* tasks:
- #12591 [component: tests] Many `CoverageWarning: Couldn't parse (...)` in unit tests
- #12595 [component: docs] More neutral install instructions
- #12607 output_notebook uses a deprecated API
- #12608 models.util.structure uses deprecated API
- #12641 [component: docs] Links to many examples are out of date
- #12646 [FEATURE] Add a find_stack_level to deprecation.py
- #12351 Updates to Docker image building and testing
- #12547 [component: docs] Added metadata to glyphs.py, multi_legend.py, multi_scale.py
- #12605 Replace flake8 with ruff
- #12620 Remove LGTM
- #12630 Update CodeQL action
- #12636 Add CodeQL config
- #12639 Disable docker from wheel integration tests
- #12645 CodeQL: remove import linter hack
- #12654 Resolve issues with code quality checks
- #12659 [component: docs] Adapt Bokeh logo for dark theme and add docs badge in README.md
- #12662 Backports for 3.0.3
- #12663 Updates for 3.0.3
2022-11-14 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
2022-11-03 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
2022-10-30 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