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.28.1
```
--------------
- Fixed bugs in tests (171, 172)
```
### 0.28.0
```
--------------
A major cleanup.
Backward incompatible changes:
- Dropped support for Python 2.7 and 3.7.
Deprecated features, to be removed in v.0.30:
- `argh.assembling.SUPPORTS_ALIASES`.
- Always `True` for recent versions of Python.
- `argh.io.safe_input()` AKA `argh.interaction.safe_input()`.
- Not relevant anymore. Please use the built-in `input()` instead.
- argument `pre_call` in `dispatch()`.
Even though this hack seems to have been used in some projects, it was never
part of the official API and never recommended.
Describing your use case in the `discussion about shared arguments`_ can
help improve the library to accomodate it in a proper way.
.. _discussion about shared arguments: https://github.com/neithere/argh/issues/63
- Argument help as annotations.
- Annotations will only be used for types after v.0.30.
- Please replace any instance of::
def func(foo: "Foobar"):
with the following::
arg('-f', '--foo', help="Foobar")
def func(foo):
It will be decided later how to keep this functionality "DRY" (don't repeat
yourself) without conflicts with modern conventions and tools.
- Added deprecation warnings for some arguments deprecated back in v.0.26.
```
### 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/
- Docs: https://pythonhosted.org/argh/
Changelog
### 4.11.1
```
This release was done to ensure that the unit tests are packaged along
with the released source. There are no functionality changes in this
release, but there are a few other packaging changes:
* The Japanese and Korean translations of the documentation are included.
* The changelog is now packaged as CHANGELOG, and the license file is
packaged as LICENSE. NEWS.txt and COPYING.txt are still present,
but may be removed in the future.
* TODO.txt is no longer packaged, since a TODO is not relevant for released
code.
```
### 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/
Changelog
### 1.6.2
```
-------------
Released 2023-04-12
- Type annotations are not evaluated at runtime. typing-extensions is not a runtime
dependency. :pr:`94`
```
### 1.6.1
```
-------------
Released 2023-04-09
- Ensure that py.typed is present in the distributions (to enable other
projects to use blinker's typing).
- Require typing-extensions > 4.2 to ensure it includes
ParamSpec. :issue:`90`
```
### 1.6
```
-----------
Released 2023-04-02
- Add a muted context manager to temporarily turn off a
signal. :pr:`84`
- Allow int senders (alongside existing string senders). :pr:`83`
- Add a send_async method to the Signal to allow signals to send to
coroutine receivers. :pr:`76`
- Update and modernise the project structure to match that used by the
pallets projects. :pr:`77`
- Add an intial set of type hints for the project.
```
### 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/
Changelog
### 3.1
```
--------------------
* bugfixes:
- 5829 [component: bokehjs] PolySelectTool area remains the same at all zoom levels
- 6931 "Slider" widget: omitting a required argument does not produce error message
- 8180 [component: bokehjs] HoverTool not working with RangeTool
- 9047 [component: bokehjs] [BUG] Can't interact with multiple RangeTools
- 9381 [component: bokehjs] [BUG] range_tool broken on inverted axes
- 9752 [component: bokehjs] [BUG] Hover tool not working correctly for rotated rectangles
- 10749 [component: bokehjs] [BUG] Plaintext copy-pasted from DataTable has a different order
- 10769 [component: bokehjs] [BUG] Dates in DataTables appear as zero-epoch
- 11830 [BUG] TypeError when customizing tools icon using PIL Image
- 11955 [component: bokehjs] [BUG] Replacing filter of CDSView does not trigger update of DataTable
- 11969 [component: bokehjs] [BUG] DataTable rendering behaves inconsistently for different indices of an IndexFilter
- 11994 [BUG] Allow reset of DatePicker to empty date
- 12315 [component: bokehjs] [BUG] ColumnDataSource does not work with NumPy floating-point scalars
- 12331 [component: bokehjs] [FEATURE] enable linebreaks in legend labels
- 12379 Figure out why `HexTile` with `pointytop` orientation and `aspect_scale=0.5` fails
- 12410 [component: bokehjs] Hover tool can point to data outside of the frame
- 12540 Handle Datetime values consistently in annotations
- 12574 [component: docs] [BUG] `bokeh.core.json_encoder.serialize_json` doesn't work as shown in example
- 12584 [component: bokehjs] [BUG] MultiChoice dropdown and autocomplete
- 12592 [component: bokehjs] Rect hit testing on circles is overzealous, at least by the default
- 12610 light_minimal theme is missing
- 12614 [component: bokehjs] [BUG] sizing_mode='stretch_both' broken in gridplot (bokeh 3.0.2)
- 12624 [BUG] bokeh v3 ColumnDataSource.selected.indices no longer works with ndarray
- 12666 [BUG] Performance differences between v2 and v3
- 12674 [component: docs] Ref guide autoclasstoc links are missing
- 12678 [component: bokehjs] [BUG] tooltips disappear when range of image is reversed
- 12700 [component: bokehjs] ReGL initialization is excessively and unnecessarily slow in tests
- 12709 [component: bokehjs] [BUG] DatePicker kills layout
- 12710 [component: docs] [BUG] CheckboxGroup minimal example in the documentation (Widgets and DOM elements 3.0.3) does not work properly
- 12714 [component: bokehjs] [BUG] Updating DatePicker css_classes from callbacks not working
- 12719 Type check errors due to updated `pandas-stubs`
- 12730 [component: docs] [BUG] No such file: examples/plotting/marker_map.py
- 12731 [component: bokehjs] [BUG] Possible regression: pinching not working with wheelzoomtool
- 12735 [component: bokehjs] [BUG] hatching scales differently on different displays
- 12756 [component: examples] Custom tooltip example mis-renders
- 12757 [component: bokehjs] Custom extension examples do not work
- 12767 [component: docs] [BUG] No module named 'bokeh.server.tests'
- 12776 [component: bokehjs] [BUG] DataTable does not output true/false for numpy arrays
- 12778 [component: bokehjs] `RangesUpdate` is not emitted for linked plots
- 12783 [component: bokehjs] [BUG] HasProps does not record references for models declared inside Map objects
- 12784 [component: bokehjs] [BUG] BokehJS interpolate doesn't handle length-1 arrays
- 12788 [component: bokehjs] [BUG] Streaming broken when switching from Array to TypedArray
- 12797 [component: bokehjs] There are dots in HTML class names
- 12799 [BUG] Time to add glyph with legend label grows exponentially with number of existing glyphs
- 12805 [BUG] Serialization of new models breaks with Document.hold()
- 12838 [BUG] Cannot serialize pd.NA
- 12839 [BUG] Cannot serialize pandas numeric arrays
- 12846 [component: docs] Update Docs for GlyphRenderer
- 12850 [component: docs] Missing title in docs for glyphs
- 12857 [component: docs] [BUG] Example in "Setting up a development environment" doesn't exist anymore
- 12863 [BUG] GridPlot sizing mode not respected
- 12864 [BUG] GridPlot does not combine tools with different renderers
- 12876 [component: bokehjs] Unnecessary scrollbars can toggle back and forth in layouts
- 12880 [component: bokehjs] Editable `BoxAnnotation` doesn't respect symbolic coordinates
- 12883 [component: bokehjs] css_classes example not working
- 12885 [BUG] Pandas series encoding can fail with pyarrow dtypes
- 12888 [component: bokehjs] Layout collapses when using `FullscreenTool` in Chromium
- 12894 [component: server] [BUG] Server does not allow websocket connection on unix socket
- 12917 [component: bokehjs] Candlestick chart broken
- 12924 [component: docs] Thumbnails not being rendered in docs gallery
- 12698 [component: docs] Fix typo.
- 12725 [component: bokehjs] Refactor `qbb()` and `cbb()` and fix usage of `cbb()`
- 12754 [component: bokehjs] Update Tabler icon CSS URL
- 12766 [component: bokehjs] Fix svg rotated ellipses
- 12809 [component: bokehjs] Consider margins when using `100%` width with `max` policy
- 12822 [component: tests] Resolve issues with headless Chromium 110
- 12866 [component: bokehjs] Build bokehjs' examples in CI and fix errors
- 12882 Fix alignment in `_templates/file.html`
* features:
- 3412 Add support for persistent selection overlays
- 3880 ncol and nrow in Legend object
- 4272 Hook for callback upon document init
- 8592 Allow models.Span.location to accept categorical values
- 8926 [component: bokehjs] [FEATURE]Change date format of DatePicker
- 9194 [component: bokehjs] [FEATURE] Add fill properties to slope
- 11328 [component: bokehjs] [FEATURE] Add JS event on Websocket disconnect
- 11348 [component: bokehjs] Add rounded corners for rect/quad glyphs
- 12157 [component: bokehjs] [FEATURE] MultiChoice: allow flag for the options menu to be closed after an item is selected or not
- 12507 [BUG] Sparse DataFrame can't be plotted without transformation to CDS
- 12529 Add support for background, border, padding, etc. to `Text` glyph
- 12692 [FEATURE] Add visual separation for legend items with multiline text
- 12736 [FEATURE] Add method to construct a ColorBar
- 12752 [FEATURE] Add transform.eqhist_cmap
- 12772 [component: bokehjs] Add configurable option for invoking callback when pressing enter for TextInput
- 12821 [BUG] Cannot plot `pandas.DataFrame` with columns of type string
- 12356 Categorical colormapping of 3D arrays
- 12688 Expose stylesheet model API publicly
- 12749 [component: bokehjs] Implement varying_alpha_palette in BokehJS
- 12789 [component: bokehjs] Add interp_palette function
- 12823 Allow to clone `HasProps` instances
* tasks:
- 6389 [component: tests] Test that bokehjs is npm-installable
- 11653 [component: tests] Test for `MultiChoice` widget
- 12590 Rename `select_every_mousemove` to `continuous`
- 12598 [component: build] Raise min numpy to 1.16
- 12609 [component: tests] Server tests use deprecated API
- 12617 [component: build] [BUG] Runtime error of incorrect option name crashes webapp (Angular)
- 12642 [component: docs] [FEATURE] Add ``text_outline_color`` to docs
- 12647 [component: docs] [BUG] First steps 2 doc figures have low contrast
- 12675 [component: docs] User guide section for CSS stying
- 12684 [component: docs] Docs on load balancing with Apache can be improved
- 12689 [BUG] numpy.bool8 is deprecated
- 12711 [BUG] EncodingWarning in bokeh.resources and bokeh.themes.Theme(...)
- 12716 Codecov not skipping sphinxext
- 12734 [component: docs] [DOCS] rect glyph shouldn't be used on log axes
- 12744 [component: docs] Built-in widgets docs page does not include DateSlider
- 12760 [component: examples] Improve examples' color handling
- 12768 [component: docs] Dev setup docs needs to ensure repo tags
- 12769 Activate bugbear checks in ruff
- 12793 [component: docs] Update docs for release
- 12918 [component: docs] Gallery thumbnails for image examples need updating
- 12919 [component: docs] Date picker gallery thumbnail broken
- 12555 Forward ports for 3.0.1
- 12621 Forward ports from 3.0.2
- 12631 [component: build] Upgrade to TypeScript 4.9
- 12676 [component: bokehjs] Remove legacy `CanvasRenderingContext2D` polyfills
- 12685 [component: build] Add support for CSS modules to extensions' compiler
- 12686 [component: docs] Promote note to warning in docs
- 12694 [component: docs] Fix tooltip ug entry
- 12705 Update copyright statements to 2023
- 12715 [component: bokehjs] Remove legacy CSS styles
- 12723 [component: build] Switch to isolated modules in TypeScript
- 12732 [component: build] Switch to ES2022 tsc compilation target
- 12741 Upgrade `actions/{checkout,cache,...}` to `v3`
- 12743 [component: examples] Added metadata to examples
- 12748 Fix a few typos
- 12755 Update ruff / f-string cleanup
- 12762 [component: bokehjs] Upgrade bokehjs dependencies and refresh `package-lock.json`
- 12770 [component: docs] spelling mistake
- 12792 `DatePicker` improvements and new types of pickers
- 12795 [component: examples] 11765 metadata custom tooltips
- 12810 [component: examples] Added metadata to hover.py
- 12816 Reuse object traversal result when bundling
- 12817 [component: bokehjs] Enable strict boolean expressions lint rule
- 12828 Use ubuntu-latest and nodejs 18.x in CI
- 12836 [component: bokehjs] Don't re-render when `css_classes` or `stylesheets` change
- 12852 Resolve issues with testing on MacOS in CI
- 12853 [component: bokehjs] Enable `switch-exhaustiveness-checks` lint rule
- 12856 Upgrade to ruff 0.0.252
- 12865 [component: build] Check for package-lock.json v3 in release scripts
- 12871 [component: bokehjs] Make `publish = true` the default for `BokehEvent`
- 12915 Warn about already known references, but don't fail
```
### 3.0.3
```
--------------------
* bugfixes:
- 12583 [component: bokehjs] [BUG] Nested gridplot collapses figures
- 12611 [BUG] `get_screenshot_as_png`
- 12627 [BUG] sizing_mode="stretch_both" fails since 3.0.0
- 12633 [component: bokehjs] [BUG] Styles are not applied to model in Firefox
- 12640 [component: bokehjs] [BUG] Embedded plot not sized correctly if not visible from the start
- 12623 Ensure change callback manipulation is threadsafe
* tasks:
- 12591 [component: tests] Many `CoverageWarning: Couldn't parse (...)` in unit tests
- 12595 [component: docs] More neutral install instructions
- 12607 output_notebook uses a deprecated API
- 12608 models.util.structure uses deprecated API
- 12641 [component: docs] Links to many examples are out of date
- 12646 [FEATURE] Add a find_stack_level to deprecation.py
- 12351 Updates to Docker image building and testing
- 12547 [component: docs] Added metadata to glyphs.py, multi_legend.py, multi_scale.py
- 12605 Replace flake8 with ruff
- 12620 Remove LGTM
- 12630 Update CodeQL action
- 12636 Add CodeQL config
- 12639 Disable docker from wheel integration tests
- 12645 CodeQL: remove import linter hack
- 12654 Resolve issues with code quality checks
- 12659 [component: docs] Adapt Bokeh logo for dark theme and add docs badge in README.md
- 12662 Backports for 3.0.3
- 12663 Updates for 3.0.3
```
### 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
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.28.1.
Changelog
### 0.28.1 ``` -------------- - Fixed bugs in tests (171, 172) ``` ### 0.28.0 ``` -------------- A major cleanup. Backward incompatible changes: - Dropped support for Python 2.7 and 3.7. Deprecated features, to be removed in v.0.30: - `argh.assembling.SUPPORTS_ALIASES`. - Always `True` for recent versions of Python. - `argh.io.safe_input()` AKA `argh.interaction.safe_input()`. - Not relevant anymore. Please use the built-in `input()` instead. - argument `pre_call` in `dispatch()`. Even though this hack seems to have been used in some projects, it was never part of the official API and never recommended. Describing your use case in the `discussion about shared arguments`_ can help improve the library to accomodate it in a proper way. .. _discussion about shared arguments: https://github.com/neithere/argh/issues/63 - Argument help as annotations. - Annotations will only be used for types after v.0.30. - Please replace any instance of:: def func(foo: "Foobar"): with the following:: arg('-f', '--foo', help="Foobar") def func(foo): It will be decided later how to keep this functionality "DRY" (don't repeat yourself) without conflicts with modern conventions and tools. - Added deprecation warnings for some arguments deprecated back in v.0.26. ``` ### 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/ - 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 23.1.0.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/attrsUpdate beautifulsoup4 from 4.8.1 to 4.12.2.
Changelog
### 4.11.1 ``` This release was done to ensure that the unit tests are packaged along with the released source. There are no functionality changes in this release, but there are a few other packaging changes: * The Japanese and Korean translations of the documentation are included. * The changelog is now packaged as CHANGELOG, and the license file is packaged as LICENSE. NEWS.txt and COPYING.txt are still present, but may be removed in the future. * TODO.txt is no longer packaged, since a TODO is not relevant for released code. ``` ### 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/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.6.2.
Changelog
### 1.6.2 ``` ------------- Released 2023-04-12 - Type annotations are not evaluated at runtime. typing-extensions is not a runtime dependency. :pr:`94` ``` ### 1.6.1 ``` ------------- Released 2023-04-09 - Ensure that py.typed is present in the distributions (to enable other projects to use blinker's typing). - Require typing-extensions > 4.2 to ensure it includes ParamSpec. :issue:`90` ``` ### 1.6 ``` ----------- Released 2023-04-02 - Add a muted context manager to temporarily turn off a signal. :pr:`84` - Allow int senders (alongside existing string senders). :pr:`83` - Add a send_async method to the Signal to allow signals to send to coroutine receivers. :pr:`76` - Update and modernise the project structure to match that used by the pallets projects. :pr:`77` - Add an intial set of type hints for the project. ``` ### 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/Update bokeh from 1.4.0 to 3.1.0.
Changelog
### 3.1 ``` -------------------- * bugfixes: - 5829 [component: bokehjs] PolySelectTool area remains the same at all zoom levels - 6931 "Slider" widget: omitting a required argument does not produce error message - 8180 [component: bokehjs] HoverTool not working with RangeTool - 9047 [component: bokehjs] [BUG] Can't interact with multiple RangeTools - 9381 [component: bokehjs] [BUG] range_tool broken on inverted axes - 9752 [component: bokehjs] [BUG] Hover tool not working correctly for rotated rectangles - 10749 [component: bokehjs] [BUG] Plaintext copy-pasted from DataTable has a different order - 10769 [component: bokehjs] [BUG] Dates in DataTables appear as zero-epoch - 11830 [BUG] TypeError when customizing tools icon using PIL Image - 11955 [component: bokehjs] [BUG] Replacing filter of CDSView does not trigger update of DataTable - 11969 [component: bokehjs] [BUG] DataTable rendering behaves inconsistently for different indices of an IndexFilter - 11994 [BUG] Allow reset of DatePicker to empty date - 12315 [component: bokehjs] [BUG] ColumnDataSource does not work with NumPy floating-point scalars - 12331 [component: bokehjs] [FEATURE] enable linebreaks in legend labels - 12379 Figure out why `HexTile` with `pointytop` orientation and `aspect_scale=0.5` fails - 12410 [component: bokehjs] Hover tool can point to data outside of the frame - 12540 Handle Datetime values consistently in annotations - 12574 [component: docs] [BUG] `bokeh.core.json_encoder.serialize_json` doesn't work as shown in example - 12584 [component: bokehjs] [BUG] MultiChoice dropdown and autocomplete - 12592 [component: bokehjs] Rect hit testing on circles is overzealous, at least by the default - 12610 light_minimal theme is missing - 12614 [component: bokehjs] [BUG] sizing_mode='stretch_both' broken in gridplot (bokeh 3.0.2) - 12624 [BUG] bokeh v3 ColumnDataSource.selected.indices no longer works with ndarray - 12666 [BUG] Performance differences between v2 and v3 - 12674 [component: docs] Ref guide autoclasstoc links are missing - 12678 [component: bokehjs] [BUG] tooltips disappear when range of image is reversed - 12700 [component: bokehjs] ReGL initialization is excessively and unnecessarily slow in tests - 12709 [component: bokehjs] [BUG] DatePicker kills layout - 12710 [component: docs] [BUG] CheckboxGroup minimal example in the documentation (Widgets and DOM elements 3.0.3) does not work properly - 12714 [component: bokehjs] [BUG] Updating DatePicker css_classes from callbacks not working - 12719 Type check errors due to updated `pandas-stubs` - 12730 [component: docs] [BUG] No such file: examples/plotting/marker_map.py - 12731 [component: bokehjs] [BUG] Possible regression: pinching not working with wheelzoomtool - 12735 [component: bokehjs] [BUG] hatching scales differently on different displays - 12756 [component: examples] Custom tooltip example mis-renders - 12757 [component: bokehjs] Custom extension examples do not work - 12767 [component: docs] [BUG] No module named 'bokeh.server.tests' - 12776 [component: bokehjs] [BUG] DataTable does not output true/false for numpy arrays - 12778 [component: bokehjs] `RangesUpdate` is not emitted for linked plots - 12783 [component: bokehjs] [BUG] HasProps does not record references for models declared inside Map objects - 12784 [component: bokehjs] [BUG] BokehJS interpolate doesn't handle length-1 arrays - 12788 [component: bokehjs] [BUG] Streaming broken when switching from Array to TypedArray - 12797 [component: bokehjs] There are dots in HTML class names - 12799 [BUG] Time to add glyph with legend label grows exponentially with number of existing glyphs - 12805 [BUG] Serialization of new models breaks with Document.hold() - 12838 [BUG] Cannot serialize pd.NA - 12839 [BUG] Cannot serialize pandas numeric arrays - 12846 [component: docs] Update Docs for GlyphRenderer - 12850 [component: docs] Missing title in docs for glyphs - 12857 [component: docs] [BUG] Example in "Setting up a development environment" doesn't exist anymore - 12863 [BUG] GridPlot sizing mode not respected - 12864 [BUG] GridPlot does not combine tools with different renderers - 12876 [component: bokehjs] Unnecessary scrollbars can toggle back and forth in layouts - 12880 [component: bokehjs] Editable `BoxAnnotation` doesn't respect symbolic coordinates - 12883 [component: bokehjs] css_classes example not working - 12885 [BUG] Pandas series encoding can fail with pyarrow dtypes - 12888 [component: bokehjs] Layout collapses when using `FullscreenTool` in Chromium - 12894 [component: server] [BUG] Server does not allow websocket connection on unix socket - 12917 [component: bokehjs] Candlestick chart broken - 12924 [component: docs] Thumbnails not being rendered in docs gallery - 12698 [component: docs] Fix typo. - 12725 [component: bokehjs] Refactor `qbb()` and `cbb()` and fix usage of `cbb()` - 12754 [component: bokehjs] Update Tabler icon CSS URL - 12766 [component: bokehjs] Fix svg rotated ellipses - 12809 [component: bokehjs] Consider margins when using `100%` width with `max` policy - 12822 [component: tests] Resolve issues with headless Chromium 110 - 12866 [component: bokehjs] Build bokehjs' examples in CI and fix errors - 12882 Fix alignment in `_templates/file.html` * features: - 3412 Add support for persistent selection overlays - 3880 ncol and nrow in Legend object - 4272 Hook for callback upon document init - 8592 Allow models.Span.location to accept categorical values - 8926 [component: bokehjs] [FEATURE]Change date format of DatePicker - 9194 [component: bokehjs] [FEATURE] Add fill properties to slope - 11328 [component: bokehjs] [FEATURE] Add JS event on Websocket disconnect - 11348 [component: bokehjs] Add rounded corners for rect/quad glyphs - 12157 [component: bokehjs] [FEATURE] MultiChoice: allow flag for the options menu to be closed after an item is selected or not - 12507 [BUG] Sparse DataFrame can't be plotted without transformation to CDS - 12529 Add support for background, border, padding, etc. to `Text` glyph - 12692 [FEATURE] Add visual separation for legend items with multiline text - 12736 [FEATURE] Add method to construct a ColorBar - 12752 [FEATURE] Add transform.eqhist_cmap - 12772 [component: bokehjs] Add configurable option for invoking callback when pressing enter for TextInput - 12821 [BUG] Cannot plot `pandas.DataFrame` with columns of type string - 12356 Categorical colormapping of 3D arrays - 12688 Expose stylesheet model API publicly - 12749 [component: bokehjs] Implement varying_alpha_palette in BokehJS - 12789 [component: bokehjs] Add interp_palette function - 12823 Allow to clone `HasProps` instances * tasks: - 6389 [component: tests] Test that bokehjs is npm-installable - 11653 [component: tests] Test for `MultiChoice` widget - 12590 Rename `select_every_mousemove` to `continuous` - 12598 [component: build] Raise min numpy to 1.16 - 12609 [component: tests] Server tests use deprecated API - 12617 [component: build] [BUG] Runtime error of incorrect option name crashes webapp (Angular) - 12642 [component: docs] [FEATURE] Add ``text_outline_color`` to docs - 12647 [component: docs] [BUG] First steps 2 doc figures have low contrast - 12675 [component: docs] User guide section for CSS stying - 12684 [component: docs] Docs on load balancing with Apache can be improved - 12689 [BUG] numpy.bool8 is deprecated - 12711 [BUG] EncodingWarning in bokeh.resources and bokeh.themes.Theme(...) - 12716 Codecov not skipping sphinxext - 12734 [component: docs] [DOCS] rect glyph shouldn't be used on log axes - 12744 [component: docs] Built-in widgets docs page does not include DateSlider - 12760 [component: examples] Improve examples' color handling - 12768 [component: docs] Dev setup docs needs to ensure repo tags - 12769 Activate bugbear checks in ruff - 12793 [component: docs] Update docs for release - 12918 [component: docs] Gallery thumbnails for image examples need updating - 12919 [component: docs] Date picker gallery thumbnail broken - 12555 Forward ports for 3.0.1 - 12621 Forward ports from 3.0.2 - 12631 [component: build] Upgrade to TypeScript 4.9 - 12676 [component: bokehjs] Remove legacy `CanvasRenderingContext2D` polyfills - 12685 [component: build] Add support for CSS modules to extensions' compiler - 12686 [component: docs] Promote note to warning in docs - 12694 [component: docs] Fix tooltip ug entry - 12705 Update copyright statements to 2023 - 12715 [component: bokehjs] Remove legacy CSS styles - 12723 [component: build] Switch to isolated modules in TypeScript - 12732 [component: build] Switch to ES2022 tsc compilation target - 12741 Upgrade `actions/{checkout,cache,...}` to `v3` - 12743 [component: examples] Added metadata to examples - 12748 Fix a few typos - 12755 Update ruff / f-string cleanup - 12762 [component: bokehjs] Upgrade bokehjs dependencies and refresh `package-lock.json` - 12770 [component: docs] spelling mistake - 12792 `DatePicker` improvements and new types of pickers - 12795 [component: examples] 11765 metadata custom tooltips - 12810 [component: examples] Added metadata to hover.py - 12816 Reuse object traversal result when bundling - 12817 [component: bokehjs] Enable strict boolean expressions lint rule - 12828 Use ubuntu-latest and nodejs 18.x in CI - 12836 [component: bokehjs] Don't re-render when `css_classes` or `stylesheets` change - 12852 Resolve issues with testing on MacOS in CI - 12853 [component: bokehjs] Enable `switch-exhaustiveness-checks` lint rule - 12856 Upgrade to ruff 0.0.252 - 12865 [component: build] Check for package-lock.json v3 in release scripts - 12871 [component: bokehjs] Make `publish = true` the default for `BokehEvent` - 12915 Warn about already known references, but don't fail ``` ### 3.0.3 ``` -------------------- * bugfixes: - 12583 [component: bokehjs] [BUG] Nested gridplot collapses figures - 12611 [BUG] `get_screenshot_as_png` - 12627 [BUG] sizing_mode="stretch_both" fails since 3.0.0 - 12633 [component: bokehjs] [BUG] Styles are not applied to model in Firefox - 12640 [component: bokehjs] [BUG] Embedded plot not sized correctly if not visible from the start - 12623 Ensure change callback manipulation is threadsafe * tasks: - 12591 [component: tests] Many `CoverageWarning: Couldn't parse (...)` in unit tests - 12595 [component: docs] More neutral install instructions - 12607 output_notebook uses a deprecated API - 12608 models.util.structure uses deprecated API - 12641 [component: docs] Links to many examples are out of date - 12646 [FEATURE] Add a find_stack_level to deprecation.py - 12351 Updates to Docker image building and testing - 12547 [component: docs] Added metadata to glyphs.py, multi_legend.py, multi_scale.py - 12605 Replace flake8 with ruff - 12620 Remove LGTM - 12630 Update CodeQL action - 12636 Add CodeQL config - 12639 Disable docker from wheel integration tests - 12645 CodeQL: remove import linter hack - 12654 Resolve issues with code quality checks - 12659 [component: docs] Adapt Bokeh logo for dark theme and add docs badge in README.md - 12662 Backports for 3.0.3 - 12663 Updates for 3.0.3 ``` ### 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