Changelog
### 5.1.1
```
=====
:release-date: 2022-03-06 12:45 P.M. UTC+6:00
:release-by: Asif Saif Uddin
- Use AF_UNSPEC for name resolution (389).
.. _version-5.1.0:
```
### 5.1.0
```
=====
:release-date: 2022-03-06 10:05 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Improve performance of _get_free_channel_id, fix channel max bug (385).
- Document memoryview usage, minor frame_writer.write_frame refactor (384).
- Start dropping python 3.6 (387).
- Added experimental __slots__ to some classes (368)
- Relaxed vine version for upcoming release.
- Upgraded topytest 7 (388).
.. _version-5.0.9:
```
### 5.0.9
```
=====
:release-date: 2021-12-20 11:00 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Append to _used_channel_ids in _used_channel_ids
.. _version-5.0.8:
```
### 5.0.8
```
=====
:release-date: 2021-12-19 11:15 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Reduce memory usage of Connection (377)
- Add additional error handling around code where an OSError
may be raised on failed connections. Fixes (378)
.. _version-5.0.7:
```
### 5.0.7
```
=====
:release-date: 2021-12-13 15:45 P.M. UTC+6:00
:release-by: Asif Saif Uddin
- Remove dependency to case
- Bugfix: not closing socket after server disconnect
.. _version-5.0.6:
```
### 5.0.6
```
=====
:release-date: 2021-04-01 10:45 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Change the order in which context.check_hostname and context.verify_mode get set
in SSLTransport._wrap_socket_sni. Fixes bug introduced in 5.0.3 where setting
context.verify_mode = ssl.CERT_NONE would raise
"ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled."
Setting context.check_hostname prior to setting context.verify_mode resolves the
issue.
- Remove TCP_USER_TIMEOUT option for Solaris (355)
- Pass long_description to setup() (353)
- Fix for tox-docker 2.0
- Moved to GitHub actions CI (359)
.. _version-5.0.5:
```
### 5.0.5
```
=====
:release-date: 2021-01-28 4:30 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Removed mistakenly introduced code which was causing import errors
.. _version-5.0.4:
```
### 5.0.4
```
=====
:release-date: 2021-01-28 2:30 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Add missing load_default_certs() call to fix a regression in v5.0.3 release. (350)
.. _version-5.0.3:
```
### 5.0.3
```
=====
:release-date: 2021-01-19 9:00 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Change the default value of ssl_version to None. When not set, the
proper value between ssl.PROTOCOL_TLS_CLIENT and ssl.PROTOCOL_TLS_SERVER
will be selected based on the param server_side in order to create
a TLS Context object with better defaults that fit the desired
connection side.
- Change the default value of cert_reqs to None. The default value
of ctx.verify_mode is ssl.CERT_NONE, but when ssl.PROTOCOL_TLS_CLIENT
is used, ctx.verify_mode defaults to ssl.CERT_REQUIRED.
- Fix context.check_hostname logic. Checking the hostname depends on
having support of the SNI TLS extension and being provided with a
server_hostname value. Another important thing to mention is that
enabling hostname checking automatically sets verify_mode from
ssl.CERT_NONE to ssl.CERT_REQUIRED in the stdlib ssl and it cannot
be set back to ssl.CERT_NONE as long as hostname checking is enabled.
- Refactor the SNI tests to test one thing at a time and removing some
tests that were being repeated over and over.
.. _version-5.0.2:
```
### 5.0.2
```
=====
:release-date: 2020-11-08 6:50 P.M UTC+3:00
:release-by: Omer Katz
- Whhels are no longer universal.
Contributed by **Omer Katz**
- Added debug representation to Connection and *Transport classes
Contributed by **Matus Valo**
- Reintroduce ca_certs and ciphers parameters of SSLTransport._wrap_socket_sni()
This fixes issue introduced in commit: 53d6777
Contributed by **Matus Valo**
- Fix infinite wait when using confirm_publish
Contributed by **Omer Katz** & **RezaSi**
.. _version-5.0.1:
```
### 5.0.1
```
=====
:release-date: 2020-09-06 6:10 P.M UTC+3:00
:release-by: Omer Katz
- Require vine 5.0.0.
Contributed by **Omer Katz**
.. _version-5.0.0:
```
### 5.0.0
```
=====
:release-date: 2020-09-03 3:20 P.M UTC+3:00
:release-by: Omer Katz
- Stop to use deprecated method ssl.wrap_socket.
Contributed by **Hervé Beraud**
.. _version-5.0.0b1:
```
### 5.0.0b1
```
=======
:release-date: 2020-09-01 6:20 P.M UTC+3:00
:release-by: Omer Katz
- Dropped Python 3.5 support.
Contributed by **Omer Katz**
- Removed additional compatibility code.
Contributed by **Omer Katz**
.. _version-5.0.0a1:
```
### 5.0.0a1
```
=======
:release-date: 2019-04-01 4:30 P.M UTC+3:00
:release-by: Omer Katz
- Dropped Python 2.x support.
Contributed by **Omer Katz**
- Dropped Python 3.4 support.
Contributed by **Omer Katz**
- Depend on :pypi:`vine` 5.0.0a1.
Contributed by **Omer Katz**
Code Cleanups & Improvements:
- **Omer Katz**
.. _version-2.6.0:
```
### 2.6.1
```
=====
:release-date: 2020-07-31 10.30 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Fix buffer overflow in frame_writer after frame_max is increased. `frame_writer`
allocates a `bytearray` on initialization with a length based on the `connection.frame_max`
value. If `connection.frame_max` is changed to a larger value, this causes an
error like `pack_into requires a buffer of at least 408736 bytes`.
.. _version-2.6.0:
```
### 2.6.0
```
=====
:release-date: 20-06-01 12.00 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Implement speedups in cython (311)
- Updated some tests & code improvements
- Separate logger for Connection.heartbeat_tick method
- Cython generic content (315)
- Improve documentation a_global parameter of basic_qos() method.
- Fix saving partial read buffer on windows during socket timeout. (321)
- Fix deserialization of long string field values that are not utf-8.
- Added simple cythonization of abstract_channel.py
- Speedups of serialization.py are more restrictive
.. _version-2.5.2:
```
Links
- PyPI: https://pypi.org/project/amqp
- Changelog: https://pyup.io/changelogs/amqp/
- Repo: http://github.com/celery/py-amqp
Changelog
### 0.27.2
```
--------------
Minor packaging fix:
* chore: include file required by tox.ini in the sdist (155)
```
### 0.27.1
```
--------------
Minor building and packaging fixes:
* docs: add Read the Docs config (160)
* chore: include tox.ini in the sdist (155)
```
### 0.27.0
```
--------------
This is the last version to support Python 2.7.
Backward incompatible changes:
- Dropped support for Python 2.6.
Enhancements:
- Added support for Python 3.7 through 3.11.
- Support introspection of function signature behind the `wraps` decorator
(issue 111).
Fixed bugs:
- When command function signature contained ``**kwargs`` *and* positionals
without defaults and with underscores in their names, a weird behaviour could
be observed (issue 104).
- Fixed introspection through decorators (issue 111).
- Switched to Python's built-in `unittest.mock` (PR 154).
- Fixed bug with `skip_unknown_args=True` (PR 134).
- Fixed tests for Python 3.9.7+ (issue 148).
Other changes:
- Included the license files in manifest (PR 112).
- Extended the list of similar projects (PR 87).
- Fixed typos and links in documentation (PR 110, 116, 156).
- Switched CI to Github Actions (PR 153).
```
Links
- PyPI: https://pypi.org/project/argh
- Changelog: https://pyup.io/changelogs/argh/
- Repo: http://github.com/neithere/argh/
- Docs: https://pythonhosted.org/argh/
Changelog
### 4.11.0
```
* Ported unit tests to use pytest.
* Added special string classes, RubyParenthesisString and RubyTextString,
to make it possible to treat ruby text specially in get_text() calls.
[bug=1941980]
* It's now possible to customize the way output is indented by
providing a value for the 'indent' argument to the Formatter
constructor. The 'indent' argument works very similarly to the
argument of the same name in the Python standard library's
json.dump() function. [bug=1955497]
* If the charset-normalizer Python module
(https://pypi.org/project/charset-normalizer/) is installed, Beautiful
Soup will use it to detect the character sets of incoming documents.
This is also the module used by newer versions of the Requests library.
For the sake of backwards compatibility, chardet and cchardet both take
precedence if installed. [bug=1955346]
* Added a workaround for an lxml bug
(https://bugs.launchpad.net/lxml/+bug/1948551) that causes
problems when parsing a Unicode string beginning with BYTE ORDER MARK.
[bug=1947768]
* Issue a warning when an HTML parser is used to parse a document that
looks like XML but not XHTML. [bug=1939121]
* Do a better job of keeping track of namespaces as an XML document is
parsed, so that CSS selectors that use namespaces will do the right
thing more often. [bug=1946243]
* Some time ago, the misleadingly named "text" argument to find-type
methods was renamed to the more accurate "string." But this supposed
"renaming" didn't make it into important places like the method
signatures or the docstrings. That's corrected in this
version. "text" still works, but will give a DeprecationWarning.
[bug=1947038]
* Fixed a crash when pickling a BeautifulSoup object that has no
tree builder. [bug=1934003]
* Fixed a crash when overriding multi_valued_attributes and using the
html5lib parser. [bug=1948488]
* Standardized the wording of the MarkupResemblesLocatorWarning
warnings to omit untrusted input and make the warnings less
judgmental about what you ought to be doing. [bug=1955450]
* Removed support for the iconv_codec library, which doesn't seem
to exist anymore and was never put up on PyPI. (The closest
replacement on PyPI, iconv_codecs, is GPL-licensed, so we can't use
it--it's also quite old.)
```
### 4.10.0
```
* This is the first release of Beautiful Soup to only support Python
3. I dropped Python 2 support to maintain support for newer versions
(58 and up) of setuptools. See:
https://github.com/pypa/setuptools/issues/2769 [bug=1942919]
* The behavior of methods like .get_text() and .strings now differs
depending on the type of tag. The change is visible with HTML tags
like <script>, <style>, and <template>. Starting in 4.9.0, methods
like get_text() returned no results on such tags, because the
contents of those tags are not considered 'text' within the document
as a whole.
But a user who calls script.get_text() is working from a different
definition of 'text' than a user who calls div.get_text()--otherwise
there would be no need to call script.get_text() at all. In 4.10.0,
the contents of (e.g.) a <script> tag are considered 'text' during a
get_text() call on the tag itself, but not considered 'text' during
a get_text() call on the tag's parent.
Because of this change, calling get_text() on each child of a tag
may now return a different result than calling get_text() on the tag
itself. That's because different tags now have different
understandings of what counts as 'text'. [bug=1906226] [bug=1868861]
* NavigableString and its subclasses now implement the get_text()
method, as well as the properties .strings and
.stripped_strings. These methods will either return the string
itself, or nothing, so the only reason to use this is when iterating
over a list of mixed Tag and NavigableString objects. [bug=1904309]
* The 'html5' formatter now treats attributes whose values are the
empty string as HTML boolean attributes. Previously (and in other
formatters), an attribute value must be set as None to be treated as
a boolean attribute. In a future release, I plan to also give this
behavior to the 'html' formatter. Patch by Isaac Muse. [bug=1915424]
* The 'replace_with()' method now takes a variable number of arguments,
and can be used to replace a single element with a sequence of elements.
Patch by Bill Chandos. [rev=605]
* Corrected output when the namespace prefix associated with a
namespaced attribute is the empty string, as opposed to
None. [bug=1915583]
* Performance improvement when processing tags that speeds up overall
tree construction by 2%. Patch by Morotti. [bug=1899358]
* Corrected the use of special string container classes in cases when a
single tag may contain strings with different containers; such as
the <template> tag, which may contain both TemplateString objects
and Comment objects. [bug=1913406]
* The html.parser tree builder can now handle named entities
found in the HTML5 spec in much the same way that the html5lib
tree builder does. Note that the lxml HTML tree builder doesn't handle
named entities this way. [bug=1924908]
* Added a second way to pass specify encodings to UnicodeDammit and
EncodingDetector, based on the order of precedence defined in the
HTML5 spec, starting at:
https://html.spec.whatwg.org/multipage/parsing.html#parsing-with-a-known-character-encoding
Encodings in 'known_definite_encodings' are tried first, then
byte-order-mark sniffing is run, then encodings in 'user_encodings'
are tried. The old argument, 'override_encodings', is now a
deprecated alias for 'known_definite_encodings'.
This changes the default behavior of the html.parser and lxml tree
builders, in a way that may slightly improve encoding
detection but will probably have no effect. [bug=1889014]
* Improve the warning issued when a directory name (as opposed to
the name of a regular file) is passed as markup into the BeautifulSoup
constructor. [bug=1913628]
```
### 4.9.3
```
* Implemented a significant performance optimization to the process of
searching the parse tree. Patch by Morotti. [bug=1898212]
```
### 4.9.2
```
* Fixed a bug that caused too many tags to be popped from the tag
stack during tree building, when encountering a closing tag that had
no matching opening tag. [bug=1880420]
* Fixed a bug that inconsistently moved elements over when passing
a Tag, rather than a list, into Tag.extend(). [bug=1885710]
* Specify the soupsieve dependency in a way that complies with
PEP 508. Patch by Mike Nerone. [bug=1893696]
* Change the signatures for BeautifulSoup.insert_before and insert_after
(which are not implemented) to match PageElement.insert_before and
insert_after, quieting warnings in some IDEs. [bug=1897120]
```
### 4.9.1
```
* Added a keyword argument 'on_duplicate_attribute' to the
BeautifulSoupHTMLParser constructor (used by the html.parser tree
builder) which lets you customize the handling of markup that
contains the same attribute more than once, as in:
<a href="url1" href="url2"> [bug=1878209]
* Added a distinct subclass, GuessedAtParserWarning, for the warning
issued when BeautifulSoup is instantiated without a parser being
specified. [bug=1873787]
* Added a distinct subclass, MarkupResemblesLocatorWarning, for the
warning issued when BeautifulSoup is instantiated with 'markup' that
actually seems to be a URL or the path to a file on
disk. [bug=1873787]
* The new NavigableString subclasses (Stylesheet, Script, and
TemplateString) can now be imported directly from the bs4 package.
* If you encode a document with a Python-specific encoding like
'unicode_escape', that encoding is no longer mentioned in the final
XML or HTML document. Instead, encoding information is omitted or
left blank. [bug=1874955]
* Fixed test failures when run against soupselect 2.0. Patch by Tomáš
Chvátal. [bug=1872279]
```
### 4.9.0
```
* Added PageElement.decomposed, a new property which lets you
check whether you've already called decompose() on a Tag or
NavigableString.
* Embedded CSS and Javascript is now stored in distinct Stylesheet and
Script tags, which are ignored by methods like get_text() since most
people don't consider this sort of content to be 'text'. This
feature is not supported by the html5lib treebuilder. [bug=1868861]
* Added a Russian translation by 'authoress' to the repository.
* Fixed an unhandled exception when formatting a Tag that had been
decomposed.[bug=1857767]
* Fixed a bug that happened when passing a Unicode filename containing
non-ASCII characters as markup into Beautiful Soup, on a system that
allows Unicode filenames. [bug=1866717]
* Added a performance optimization to PageElement.extract(). Patch by
Arthur Darcet.
```
### 4.8.2
```
* Added Python docstrings to all public methods of the most commonly
used classes.
* Added a Chinese translation by Deron Wang and a Brazilian Portuguese
translation by Cezar Peixeiro to the repository.
* Fixed two deprecation warnings. Patches by Colin
Watson and Nicholas Neumann. [bug=1847592] [bug=1855301]
* The html.parser tree builder now correctly handles DOCTYPEs that are
not uppercase. [bug=1848401]
* PageElement.select() now returns a ResultSet rather than a regular
list, making it consistent with methods like find_all().
```
Links
- PyPI: https://pypi.org/project/beautifulsoup4
- Changelog: https://pyup.io/changelogs/beautifulsoup4/
- Homepage: https://www.crummy.com/software/BeautifulSoup/bs4/
Changelog
### 1.5
```
-----------
Released 2022-07-17
- Support Python >= 3.7 and PyPy. Python 2, Python < 3.7, and Jython
may continue to work, but the next release will make incompatible
changes.
```
Links
- PyPI: https://pypi.org/project/blinker
- Changelog: https://pyup.io/changelogs/blinker/
- Docs: https://blinker.readthedocs.io
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
Update amqp from 2.5.2 to 5.1.1.
Changelog
### 5.1.1 ``` ===== :release-date: 2022-03-06 12:45 P.M. UTC+6:00 :release-by: Asif Saif Uddin - Use AF_UNSPEC for name resolution (389). .. _version-5.1.0: ``` ### 5.1.0 ``` ===== :release-date: 2022-03-06 10:05 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Improve performance of _get_free_channel_id, fix channel max bug (385). - Document memoryview usage, minor frame_writer.write_frame refactor (384). - Start dropping python 3.6 (387). - Added experimental __slots__ to some classes (368) - Relaxed vine version for upcoming release. - Upgraded topytest 7 (388). .. _version-5.0.9: ``` ### 5.0.9 ``` ===== :release-date: 2021-12-20 11:00 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Append to _used_channel_ids in _used_channel_ids .. _version-5.0.8: ``` ### 5.0.8 ``` ===== :release-date: 2021-12-19 11:15 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Reduce memory usage of Connection (377) - Add additional error handling around code where an OSError may be raised on failed connections. Fixes (378) .. _version-5.0.7: ``` ### 5.0.7 ``` ===== :release-date: 2021-12-13 15:45 P.M. UTC+6:00 :release-by: Asif Saif Uddin - Remove dependency to case - Bugfix: not closing socket after server disconnect .. _version-5.0.6: ``` ### 5.0.6 ``` ===== :release-date: 2021-04-01 10:45 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Change the order in which context.check_hostname and context.verify_mode get set in SSLTransport._wrap_socket_sni. Fixes bug introduced in 5.0.3 where setting context.verify_mode = ssl.CERT_NONE would raise "ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled." Setting context.check_hostname prior to setting context.verify_mode resolves the issue. - Remove TCP_USER_TIMEOUT option for Solaris (355) - Pass long_description to setup() (353) - Fix for tox-docker 2.0 - Moved to GitHub actions CI (359) .. _version-5.0.5: ``` ### 5.0.5 ``` ===== :release-date: 2021-01-28 4:30 P.M UTC+6:00 :release-by: Asif Saif Uddin - Removed mistakenly introduced code which was causing import errors .. _version-5.0.4: ``` ### 5.0.4 ``` ===== :release-date: 2021-01-28 2:30 P.M UTC+6:00 :release-by: Asif Saif Uddin - Add missing load_default_certs() call to fix a regression in v5.0.3 release. (350) .. _version-5.0.3: ``` ### 5.0.3 ``` ===== :release-date: 2021-01-19 9:00 P.M UTC+6:00 :release-by: Asif Saif Uddin - Change the default value of ssl_version to None. When not set, the proper value between ssl.PROTOCOL_TLS_CLIENT and ssl.PROTOCOL_TLS_SERVER will be selected based on the param server_side in order to create a TLS Context object with better defaults that fit the desired connection side. - Change the default value of cert_reqs to None. The default value of ctx.verify_mode is ssl.CERT_NONE, but when ssl.PROTOCOL_TLS_CLIENT is used, ctx.verify_mode defaults to ssl.CERT_REQUIRED. - Fix context.check_hostname logic. Checking the hostname depends on having support of the SNI TLS extension and being provided with a server_hostname value. Another important thing to mention is that enabling hostname checking automatically sets verify_mode from ssl.CERT_NONE to ssl.CERT_REQUIRED in the stdlib ssl and it cannot be set back to ssl.CERT_NONE as long as hostname checking is enabled. - Refactor the SNI tests to test one thing at a time and removing some tests that were being repeated over and over. .. _version-5.0.2: ``` ### 5.0.2 ``` ===== :release-date: 2020-11-08 6:50 P.M UTC+3:00 :release-by: Omer Katz - Whhels are no longer universal. Contributed by **Omer Katz** - Added debug representation to Connection and *Transport classes Contributed by **Matus Valo** - Reintroduce ca_certs and ciphers parameters of SSLTransport._wrap_socket_sni() This fixes issue introduced in commit: 53d6777 Contributed by **Matus Valo** - Fix infinite wait when using confirm_publish Contributed by **Omer Katz** & **RezaSi** .. _version-5.0.1: ``` ### 5.0.1 ``` ===== :release-date: 2020-09-06 6:10 P.M UTC+3:00 :release-by: Omer Katz - Require vine 5.0.0. Contributed by **Omer Katz** .. _version-5.0.0: ``` ### 5.0.0 ``` ===== :release-date: 2020-09-03 3:20 P.M UTC+3:00 :release-by: Omer Katz - Stop to use deprecated method ssl.wrap_socket. Contributed by **Hervé Beraud** .. _version-5.0.0b1: ``` ### 5.0.0b1 ``` ======= :release-date: 2020-09-01 6:20 P.M UTC+3:00 :release-by: Omer Katz - Dropped Python 3.5 support. Contributed by **Omer Katz** - Removed additional compatibility code. Contributed by **Omer Katz** .. _version-5.0.0a1: ``` ### 5.0.0a1 ``` ======= :release-date: 2019-04-01 4:30 P.M UTC+3:00 :release-by: Omer Katz - Dropped Python 2.x support. Contributed by **Omer Katz** - Dropped Python 3.4 support. Contributed by **Omer Katz** - Depend on :pypi:`vine` 5.0.0a1. Contributed by **Omer Katz** Code Cleanups & Improvements: - **Omer Katz** .. _version-2.6.0: ``` ### 2.6.1 ``` ===== :release-date: 2020-07-31 10.30 P.M UTC+6:00 :release-by: Asif Saif Uddin - Fix buffer overflow in frame_writer after frame_max is increased. `frame_writer` allocates a `bytearray` on initialization with a length based on the `connection.frame_max` value. If `connection.frame_max` is changed to a larger value, this causes an error like `pack_into requires a buffer of at least 408736 bytes`. .. _version-2.6.0: ``` ### 2.6.0 ``` ===== :release-date: 20-06-01 12.00 P.M UTC+6:00 :release-by: Asif Saif Uddin - Implement speedups in cython (311) - Updated some tests & code improvements - Separate logger for Connection.heartbeat_tick method - Cython generic content (315) - Improve documentation a_global parameter of basic_qos() method. - Fix saving partial read buffer on windows during socket timeout. (321) - Fix deserialization of long string field values that are not utf-8. - Added simple cythonization of abstract_channel.py - Speedups of serialization.py are more restrictive .. _version-2.5.2: ```Links
- PyPI: https://pypi.org/project/amqp - Changelog: https://pyup.io/changelogs/amqp/ - Repo: http://github.com/celery/py-amqpUpdate argh from 0.26.2 to 0.27.2.
Changelog
### 0.27.2 ``` -------------- Minor packaging fix: * chore: include file required by tox.ini in the sdist (155) ``` ### 0.27.1 ``` -------------- Minor building and packaging fixes: * docs: add Read the Docs config (160) * chore: include tox.ini in the sdist (155) ``` ### 0.27.0 ``` -------------- This is the last version to support Python 2.7. Backward incompatible changes: - Dropped support for Python 2.6. Enhancements: - Added support for Python 3.7 through 3.11. - Support introspection of function signature behind the `wraps` decorator (issue 111). Fixed bugs: - When command function signature contained ``**kwargs`` *and* positionals without defaults and with underscores in their names, a weird behaviour could be observed (issue 104). - Fixed introspection through decorators (issue 111). - Switched to Python's built-in `unittest.mock` (PR 154). - Fixed bug with `skip_unknown_args=True` (PR 134). - Fixed tests for Python 3.9.7+ (issue 148). Other changes: - Included the license files in manifest (PR 112). - Extended the list of similar projects (PR 87). - Fixed typos and links in documentation (PR 110, 116, 156). - Switched CI to Github Actions (PR 153). ```Links
- PyPI: https://pypi.org/project/argh - Changelog: https://pyup.io/changelogs/argh/ - Repo: http://github.com/neithere/argh/ - Docs: https://pythonhosted.org/argh/Update atomicwrites from 1.3.0 to 1.4.1.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/atomicwrites - Repo: https://github.com/untitaker/python-atomicwritesUpdate attrs from 19.3.0 to 22.2.0.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/attrs - Homepage: https://www.attrs.org/Update beautifulsoup4 from 4.8.1 to 4.11.2.
Changelog
### 4.11.0 ``` * Ported unit tests to use pytest. * Added special string classes, RubyParenthesisString and RubyTextString, to make it possible to treat ruby text specially in get_text() calls. [bug=1941980] * It's now possible to customize the way output is indented by providing a value for the 'indent' argument to the Formatter constructor. The 'indent' argument works very similarly to the argument of the same name in the Python standard library's json.dump() function. [bug=1955497] * If the charset-normalizer Python module (https://pypi.org/project/charset-normalizer/) is installed, Beautiful Soup will use it to detect the character sets of incoming documents. This is also the module used by newer versions of the Requests library. For the sake of backwards compatibility, chardet and cchardet both take precedence if installed. [bug=1955346] * Added a workaround for an lxml bug (https://bugs.launchpad.net/lxml/+bug/1948551) that causes problems when parsing a Unicode string beginning with BYTE ORDER MARK. [bug=1947768] * Issue a warning when an HTML parser is used to parse a document that looks like XML but not XHTML. [bug=1939121] * Do a better job of keeping track of namespaces as an XML document is parsed, so that CSS selectors that use namespaces will do the right thing more often. [bug=1946243] * Some time ago, the misleadingly named "text" argument to find-type methods was renamed to the more accurate "string." But this supposed "renaming" didn't make it into important places like the method signatures or the docstrings. That's corrected in this version. "text" still works, but will give a DeprecationWarning. [bug=1947038] * Fixed a crash when pickling a BeautifulSoup object that has no tree builder. [bug=1934003] * Fixed a crash when overriding multi_valued_attributes and using the html5lib parser. [bug=1948488] * Standardized the wording of the MarkupResemblesLocatorWarning warnings to omit untrusted input and make the warnings less judgmental about what you ought to be doing. [bug=1955450] * Removed support for the iconv_codec library, which doesn't seem to exist anymore and was never put up on PyPI. (The closest replacement on PyPI, iconv_codecs, is GPL-licensed, so we can't use it--it's also quite old.) ``` ### 4.10.0 ``` * This is the first release of Beautiful Soup to only support Python 3. I dropped Python 2 support to maintain support for newer versions (58 and up) of setuptools. See: https://github.com/pypa/setuptools/issues/2769 [bug=1942919] * The behavior of methods like .get_text() and .strings now differs depending on the type of tag. The change is visible with HTML tags like <script>, <style>, and <template>. Starting in 4.9.0, methods like get_text() returned no results on such tags, because the contents of those tags are not considered 'text' within the document as a whole. But a user who calls script.get_text() is working from a different definition of 'text' than a user who calls div.get_text()--otherwise there would be no need to call script.get_text() at all. In 4.10.0, the contents of (e.g.) a <script> tag are considered 'text' during a get_text() call on the tag itself, but not considered 'text' during a get_text() call on the tag's parent. Because of this change, calling get_text() on each child of a tag may now return a different result than calling get_text() on the tag itself. That's because different tags now have different understandings of what counts as 'text'. [bug=1906226] [bug=1868861] * NavigableString and its subclasses now implement the get_text() method, as well as the properties .strings and .stripped_strings. These methods will either return the string itself, or nothing, so the only reason to use this is when iterating over a list of mixed Tag and NavigableString objects. [bug=1904309] * The 'html5' formatter now treats attributes whose values are the empty string as HTML boolean attributes. Previously (and in other formatters), an attribute value must be set as None to be treated as a boolean attribute. In a future release, I plan to also give this behavior to the 'html' formatter. Patch by Isaac Muse. [bug=1915424] * The 'replace_with()' method now takes a variable number of arguments, and can be used to replace a single element with a sequence of elements. Patch by Bill Chandos. [rev=605] * Corrected output when the namespace prefix associated with a namespaced attribute is the empty string, as opposed to None. [bug=1915583] * Performance improvement when processing tags that speeds up overall tree construction by 2%. Patch by Morotti. [bug=1899358] * Corrected the use of special string container classes in cases when a single tag may contain strings with different containers; such as the <template> tag, which may contain both TemplateString objects and Comment objects. [bug=1913406] * The html.parser tree builder can now handle named entities found in the HTML5 spec in much the same way that the html5lib tree builder does. Note that the lxml HTML tree builder doesn't handle named entities this way. [bug=1924908] * Added a second way to pass specify encodings to UnicodeDammit and EncodingDetector, based on the order of precedence defined in the HTML5 spec, starting at: https://html.spec.whatwg.org/multipage/parsing.html#parsing-with-a-known-character-encoding Encodings in 'known_definite_encodings' are tried first, then byte-order-mark sniffing is run, then encodings in 'user_encodings' are tried. The old argument, 'override_encodings', is now a deprecated alias for 'known_definite_encodings'. This changes the default behavior of the html.parser and lxml tree builders, in a way that may slightly improve encoding detection but will probably have no effect. [bug=1889014] * Improve the warning issued when a directory name (as opposed to the name of a regular file) is passed as markup into the BeautifulSoup constructor. [bug=1913628] ``` ### 4.9.3 ``` * Implemented a significant performance optimization to the process of searching the parse tree. Patch by Morotti. [bug=1898212] ``` ### 4.9.2 ``` * Fixed a bug that caused too many tags to be popped from the tag stack during tree building, when encountering a closing tag that had no matching opening tag. [bug=1880420] * Fixed a bug that inconsistently moved elements over when passing a Tag, rather than a list, into Tag.extend(). [bug=1885710] * Specify the soupsieve dependency in a way that complies with PEP 508. Patch by Mike Nerone. [bug=1893696] * Change the signatures for BeautifulSoup.insert_before and insert_after (which are not implemented) to match PageElement.insert_before and insert_after, quieting warnings in some IDEs. [bug=1897120] ``` ### 4.9.1 ``` * Added a keyword argument 'on_duplicate_attribute' to the BeautifulSoupHTMLParser constructor (used by the html.parser tree builder) which lets you customize the handling of markup that contains the same attribute more than once, as in: <a href="url1" href="url2"> [bug=1878209] * Added a distinct subclass, GuessedAtParserWarning, for the warning issued when BeautifulSoup is instantiated without a parser being specified. [bug=1873787] * Added a distinct subclass, MarkupResemblesLocatorWarning, for the warning issued when BeautifulSoup is instantiated with 'markup' that actually seems to be a URL or the path to a file on disk. [bug=1873787] * The new NavigableString subclasses (Stylesheet, Script, and TemplateString) can now be imported directly from the bs4 package. * If you encode a document with a Python-specific encoding like 'unicode_escape', that encoding is no longer mentioned in the final XML or HTML document. Instead, encoding information is omitted or left blank. [bug=1874955] * Fixed test failures when run against soupselect 2.0. Patch by Tomáš Chvátal. [bug=1872279] ``` ### 4.9.0 ``` * Added PageElement.decomposed, a new property which lets you check whether you've already called decompose() on a Tag or NavigableString. * Embedded CSS and Javascript is now stored in distinct Stylesheet and Script tags, which are ignored by methods like get_text() since most people don't consider this sort of content to be 'text'. This feature is not supported by the html5lib treebuilder. [bug=1868861] * Added a Russian translation by 'authoress' to the repository. * Fixed an unhandled exception when formatting a Tag that had been decomposed.[bug=1857767] * Fixed a bug that happened when passing a Unicode filename containing non-ASCII characters as markup into Beautiful Soup, on a system that allows Unicode filenames. [bug=1866717] * Added a performance optimization to PageElement.extract(). Patch by Arthur Darcet. ``` ### 4.8.2 ``` * Added Python docstrings to all public methods of the most commonly used classes. * Added a Chinese translation by Deron Wang and a Brazilian Portuguese translation by Cezar Peixeiro to the repository. * Fixed two deprecation warnings. Patches by Colin Watson and Nicholas Neumann. [bug=1847592] [bug=1855301] * The html.parser tree builder now correctly handles DOCTYPEs that are not uppercase. [bug=1848401] * PageElement.select() now returns a ResultSet rather than a regular list, making it consistent with methods like find_all(). ```Links
- PyPI: https://pypi.org/project/beautifulsoup4 - Changelog: https://pyup.io/changelogs/beautifulsoup4/ - Homepage: https://www.crummy.com/software/BeautifulSoup/bs4/Update billiard from 3.6.1.0 to 4.1.0.
Changelog
### 4.1.0 ``` -------------------- - Fixed a python 2 to 3 compat issue which was missed earlier (374). - Adde Python 3.11 primary support ``` ### 4.0.2 ``` -------------------- - ExceptionWithTraceback should be an exception. ``` ### 4.0.1 ``` -------------------- - Add support for Python 3.11 _posixsubprocess.fork_exec() arguments. - Keep exception traceback somehow (368). ``` ### 4.0.0 ``` -------------------- - Support Sphinx 4.x. - Remove dependency to case. - Drop support of Python < 3.7. - Update to psutil 5.9.0. - Add python_requires to enforce Python version. - Replace deprecated threading Event.isSet with Event.is_set. - Prevent segmentation fault in get_pdeathsig while using ctypes (361). - Migrated CI to Github actions. - Python 3.10 support added. ``` ### 3.6.4.0 ``` -------------------- - Issue 309: Add Python 3.9 support to spawnv_passfds() - fix 314 ```Links
- PyPI: https://pypi.org/project/billiard - Changelog: https://pyup.io/changelogs/billiard/ - Repo: https://github.com/celery/billiardUpdate blinker from 1.4 to 1.5.
Changelog
### 1.5 ``` ----------- Released 2022-07-17 - Support Python >= 3.7 and PyPy. Python 2, Python < 3.7, and Jython may continue to work, but the next release will make incompatible changes. ```Links
- PyPI: https://pypi.org/project/blinker - Changelog: https://pyup.io/changelogs/blinker/ - Docs: https://blinker.readthedocs.ioUpdate bokeh from 1.4.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