Matej Cepl
7fd71277dd
- Update to version 3.4.0: * Too many changes to list, see %{_docdir}/python3<N>-bokeh/CHANGELOG. - Add CHANGELOG file as Source; it is missing from PyPI tarballs. - Drop bokeh-sampledata.tar.xz as tarball cannot be checked against upstream (it is generated locally by the packager and liable to be compromised); delete or disable tests depending on sampledata. - Drop python-nbconvert requirement for test flavour on `%ix86`, where it is unavailable and disable related tests; make tests flavour arch dependent. OBS-URL: https://build.opensuse.org/request/show/1166738 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-bokeh?expand=0&rev=87
1699 lines
598 KiB
Plaintext
1699 lines
598 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
<!DOCTYPE html>
|
||
<html
|
||
lang="en"
|
||
|
||
data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
|
||
data-a11y-animated-images="system" data-a11y-link-underlines="true"
|
||
>
|
||
|
||
|
||
|
||
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<link rel="dns-prefetch" href="https://github.githubassets.com">
|
||
<link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
|
||
<link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
|
||
<link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
|
||
<link rel="preconnect" href="https://github.githubassets.com" crossorigin>
|
||
<link rel="preconnect" href="https://avatars.githubusercontent.com">
|
||
|
||
|
||
|
||
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-0eace2597ca3.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-a167e256da9c.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-d11f2cf8009b.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-ea7373db06c8.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-afa99dcf40f7.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-af6c685139ba.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-578cdbc8a5a9.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-5cb699a7e247.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-9b32204967c6.css" />
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-0b5bee5c70e9.css" />
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-44fa1513ddd0.css" />
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-a47947043e5a.css" />
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-07f750db5d7c.css" />
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-fa69f138fe8d.css" />
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-111be5e4092d.css" />
|
||
|
||
|
||
|
||
|
||
<script type="application/json" id="client-env">{"locale":"en","featureFlags":["code_vulnerability_scanning","copilot_conversational_ux_history_refs","copilot_smell_icebreaker_ux","copilot_implicit_context","failbot_handle_non_errors","geojson_azure_maps","image_metric_tracking","marketing_forms_api_integration_contact_request","marketing_pages_search_explore_provider","turbo_experiment_risky","sample_network_conn_type","no_character_key_shortcuts_in_inputs","react_start_transition_for_navigations","custom_inp","remove_child_patch"]}</script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-122da5ef218b.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-6890e890956f.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-7bd350d761f4.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_smoothscroll-polyfill_dist_smoothscroll_js-node_modules_stacktrace-parse-a448e4-bb5415637fe0.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-69a406071332.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-9f960d9b217c.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_focus-zone_js-086f7a27bac0.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-c76945c5961a.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_markdown-toolbar-e-820fc0-bc8f02b96749.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-392fe4-eed5a942c35c.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-8a621df59e80.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b7d8f4-7dc906febe69.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_stacktrace-parser_dist_stack-8585c6-7dc8343022ba.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-3959a9-134c7fee9431.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-14a1f6104f4b.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-ea8c3b7e408f.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1acb1c-a745699a1cfa.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-5b376145beff.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-node_modules_github_memoize_dist_esm_index_js-05801f7ca718.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-c91f4ad18b62.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-8413f2cd68c5.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_scroll-anchoring_dist_scroll-anchoring_esm_js-node_modules_github_hotkey-1a1d91-49c03ceb2f0c.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-72c9fbde5ad4.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_dimensions_js-node_modules_github_jtml_lib_index_js-95b84ee6bc34.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-84957b-7b4e472db160.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_jtml-shimmed_jtml-shimmed_ts-ui_packages_safe-storage_safe-storage_ts-19f49df05d21.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_updatable-content_ts-ui_packages_hydro-analytics_hydro-analytics_ts-82813f-fb8253d1c2f5.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_onfocus_ts-app_ass-421cec-9de4213015af.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-94209c43e6af.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-2e2258-05fd80a7ea89.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-9285faa0e011.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-a27b2a049b70.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-06ff531-2ea61fcc9a71.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-6d6db5144cc3.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-6ed703a40ffd.js"></script>
|
||
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-1fbfc5be2c18.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_octicons-react_dist_index_esm_js-node_modules_primer_react_lib-es-541a38-6ce7d7c3f9ee.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Box_Box_js-8f8c5e2a2cbf.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_Button_js-95a7748e3c39.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_TooltipV2_Tooltip_js-70d5275ffcb7.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionList_index_js-b5c64c43d649.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Overlay_Overlay_js-node_modules_primer_react_lib-es-fa1130-829932cf63db.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Link_Link_js-node_modules_primer_react_lib-esm_Text-e5cb30-846d162fec54.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_FormControl_FormControl_js-740100cbb60f.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionMenu_ActionMenu_js-eaf74522e470.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Heading_Heading_js-node_modules_github_catalyst_lib-b39cf6-04084648a106.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-router-dom_dist_index_js-3b41341d50fe.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_PageLayout_PageLayout_js-5a4a31c01bca.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ConfirmationDialog_ConfirmationDialog_js-8ab472e2f924.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Dialog_js-node_modules_react-virtual_dist_react-vir-155ebc-07457159712f.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_TreeView_TreeView_js-4d087b8e0c8a.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_AvatarStack_AvatarStack_js-node_modules_primer_reac-36b6f3-1b3c8357c7d0.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_primer_react_lib-esm_Bre-b2e46d-c8ac19da4b57.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_create-browser-history_ts-ui_packages_safe-storage_safe-storage_ts-ui_-682c2c-7be102c61d97.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_register-app_ts-6ecc18606709.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-271d9b2a45a4.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-dbbdef4348e2.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-baa075-19766306208b.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_ho-e725dc-bccfdf9efa81.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-app_assets_modules_github_filter-sort_ts-app_assets_-e50ab6-fd8396d2490b.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-2166c00e294d.js"></script>
|
||
|
||
|
||
<title>bokeh/docs/CHANGELOG at 3.4.0 · bokeh/bokeh · GitHub</title>
|
||
|
||
|
||
|
||
<meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
|
||
<meta name="route-controller" content="blob" data-turbo-transient>
|
||
<meta name="route-action" content="show" data-turbo-transient>
|
||
|
||
|
||
<meta name="current-catalog-service-hash" content="82c569b93da5c18ed649ebd4c2c79437db4611a6a1373e805a3cb001c64130b7">
|
||
|
||
|
||
<meta name="request-id" content="8780:2122B7:A79D7C:B77BDD:6616B2CA" data-pjax-transient="true"/><meta name="html-safe-nonce" content="e682159752dcd78d1b58a95684f65c76023d8335555ebeeb7603fe70073c6a24" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NzgwOjIxMjJCNzpBNzlEN0M6Qjc3QkREOjY2MTZCMkNBIiwidmlzaXRvcl9pZCI6IjE3NTIyOTE3NzMwOTM2ODgwMTAiLCJyZWdpb25fZWRnZSI6ImNlbnRyYWxpbmRpYSIsInJlZ2lvbl9yZW5kZXIiOiJjZW50cmFsaW5kaWEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="29515000d24b557c9529f78cabba2ca6b6b63bdc73f24a01db99ed233e6dd186" data-pjax-transient="true"/>
|
||
|
||
|
||
<meta name="hovercard-subject-tag" content="repository:3834332" data-turbo-transient>
|
||
|
||
|
||
<meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" />
|
||
|
||
|
||
<meta name="selected-link" value="repo_source" data-turbo-transient>
|
||
<link rel="assets" href="https://github.githubassets.com/">
|
||
|
||
<meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
|
||
<meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
|
||
<meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
|
||
<meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
|
||
<meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">
|
||
|
||
<meta name="octolytics-url" content="https://collector.github.com/github/collect" />
|
||
|
||
<meta name="analytics-location" content="/<user-name>/<repo-name>/blob/show" data-turbo-transient="true" />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta name="user-login" content="">
|
||
|
||
|
||
|
||
<meta name="viewport" content="width=device-width">
|
||
|
||
<meta name="description" content="Interactive Data Visualization in the browser, from Python - bokeh/docs/CHANGELOG at 3.4.0 · bokeh/bokeh">
|
||
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
|
||
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
|
||
<meta property="fb:app_id" content="1401488693436528">
|
||
<meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG" />
|
||
<meta name="twitter:image:src" content="https://repository-images.githubusercontent.com/3834332/f2002880-882b-11eb-920b-5c3645483bbd" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="bokeh/docs/CHANGELOG at 3.4.0 · bokeh/bokeh" /><meta name="twitter:description" content="Interactive Data Visualization in the browser, from Python - bokeh/bokeh" />
|
||
<meta property="og:image" content="https://repository-images.githubusercontent.com/3834332/f2002880-882b-11eb-920b-5c3645483bbd" /><meta property="og:image:alt" content="Interactive Data Visualization in the browser, from Python - bokeh/bokeh" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="bokeh/docs/CHANGELOG at 3.4.0 · bokeh/bokeh" /><meta property="og:url" content="https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG" /><meta property="og:description" content="Interactive Data Visualization in the browser, from Python - bokeh/bokeh" />
|
||
|
||
|
||
|
||
|
||
<meta name="hostname" content="github.com">
|
||
|
||
|
||
|
||
<meta name="expected-hostname" content="github.com">
|
||
|
||
|
||
<meta http-equiv="x-pjax-version" content="1f5488b7f2e312d90bc78bad8459c11e066542129a625f851dd93272f5fb331d" data-turbo-track="reload">
|
||
<meta http-equiv="x-pjax-csp-version" content="f226bf37af9c33162063db3eb018fed7f088f86d0a20ca54c013fda96c7f2e05" data-turbo-track="reload">
|
||
<meta http-equiv="x-pjax-css-version" content="52805dbaa625ba905d50470fad4413401f27ad45f64649ca6bec39ee9f06f198" data-turbo-track="reload">
|
||
<meta http-equiv="x-pjax-js-version" content="d0248a4e8eeff1b48ee4a1ff7222a13e2954501bf7f2f8bf7fff1bc0ab6b7f4f" data-turbo-track="reload">
|
||
|
||
<meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">
|
||
|
||
<meta name="turbo-cache-control" content="no-cache" data-turbo-transient>
|
||
<meta data-hydrostats="publish">
|
||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.959fb0b61e6a1de773e7.module.css" />
|
||
|
||
<meta name="go-import" content="github.com/bokeh/bokeh git https://github.com/bokeh/bokeh.git">
|
||
|
||
<meta name="octolytics-dimension-user_id" content="8440965" /><meta name="octolytics-dimension-user_login" content="bokeh" /><meta name="octolytics-dimension-repository_id" content="3834332" /><meta name="octolytics-dimension-repository_nwo" content="bokeh/bokeh" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="3834332" /><meta name="octolytics-dimension-repository_network_root_nwo" content="bokeh/bokeh" />
|
||
|
||
|
||
|
||
<meta name="turbo-body-classes" content="logged-out env-production page-responsive">
|
||
|
||
|
||
<meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
|
||
|
||
<meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
|
||
|
||
<link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
|
||
<link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
|
||
<link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
|
||
|
||
<meta name="theme-color" content="#1e2327">
|
||
<meta name="color-scheme" content="light dark" />
|
||
|
||
|
||
<link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
|
||
|
||
</head>
|
||
|
||
<body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
|
||
<div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
|
||
|
||
|
||
|
||
<div class="position-relative js-header-wrapper ">
|
||
<a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>
|
||
<span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
|
||
<span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_IconButton_js-node_modules_primer_react_lib--b964b4-8035f8c5edaa.js"></script>
|
||
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-548fad62c9fa.js"></script>
|
||
|
||
<react-partial
|
||
partial-name="keyboard-shortcuts-dialog"
|
||
data-ssr="false"
|
||
>
|
||
|
||
<script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
|
||
<div data-target="react-partial.reactRoot"></div>
|
||
</react-partial>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-2dacc0a62744.js"></script>
|
||
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-694c8423e347.js"></script>
|
||
<header class="Header-old header-logged-out js-details-container Details position-relative f4 py-3" role="banner" data-color-mode=light data-light-theme=light data-dark-theme=dark>
|
||
<button type="button" class="Header-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation">
|
||
<span class="d-none">Toggle navigation</span>
|
||
</button>
|
||
|
||
<div class=" d-flex flex-column flex-lg-row flex-items-center p-responsive height-full position-relative z-1">
|
||
<div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto">
|
||
<a class="mr-lg-3 color-fg-inherit flex-order-2" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
|
||
<svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
|
||
<path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
|
||
</svg>
|
||
</a>
|
||
|
||
<div class="flex-1">
|
||
<a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fbokeh%2Fbokeh%2Fblob%2F3.4.0%2Fdocs%2FCHANGELOG"
|
||
class="d-inline-block d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit"
|
||
data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG","user_id":null}}" data-hydro-click-hmac="65586b6b9f98eaabd06fced313a8b8296f804a3dbc0cb846687678f0f150760a"
|
||
data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
|
||
Sign in
|
||
</a>
|
||
</div>
|
||
|
||
<div class="flex-1 flex-order-2 text-right">
|
||
<button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content">
|
||
<span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div>
|
||
<div class="HeaderMenu-toggle-bar rounded my-1"></div>
|
||
<div class="HeaderMenu-toggle-bar rounded my-1"></div></span>
|
||
</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="HeaderMenu--logged-out p-responsive height-fit position-lg-relative d-lg-flex flex-column flex-auto pt-7 pb-4 top-0">
|
||
<div class="header-menu-wrapper d-flex flex-column flex-self-end flex-lg-row flex-justify-between flex-auto p-3 p-lg-0 rounded rounded-lg-0 mt-3 mt-lg-0">
|
||
<nav class="mt-0 px-3 px-lg-0 mb-3 mb-lg-0" aria-label="Global">
|
||
<ul class="d-lg-flex list-style-none">
|
||
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
|
||
<button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
|
||
Product
|
||
<svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
|
||
<path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
|
||
</svg>
|
||
</button>
|
||
<div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex dropdown-menu-wide">
|
||
<div class="px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7">
|
||
<ul class="list-style-none f5" >
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Actions","label":"ref_cta:Actions;"}" href="/features/actions">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3">
|
||
<path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Actions</div>
|
||
Automate any workflow
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Packages","label":"ref_cta:Packages;"}" href="/features/packages">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-package color-fg-subtle mr-3">
|
||
<path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Packages</div>
|
||
Host and manage packages
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Security","label":"ref_cta:Security;"}" href="/features/security">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3">
|
||
<path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Security</div>
|
||
Find and fix vulnerabilities
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Codespaces","label":"ref_cta:Codespaces;"}" href="/features/codespaces">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3">
|
||
<path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Codespaces</div>
|
||
Instant dev environments
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Copilot","label":"ref_cta:Copilot;"}" href="/features/copilot">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3">
|
||
<path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Copilot</div>
|
||
Write better code with AI
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Code review","label":"ref_cta:Code review;"}" href="/features/code-review">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3">
|
||
<path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Code review</div>
|
||
Manage code changes
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Issues","label":"ref_cta:Issues;"}" href="/features/issues">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3">
|
||
<path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Issues</div>
|
||
Plan and track work
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Discussions","label":"ref_cta:Discussions;"}" href="/features/discussions">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3">
|
||
<path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path>
|
||
</svg>
|
||
<div>
|
||
<div class="color-fg-default h4">Discussions</div>
|
||
Collaborate outside of code
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
<div class="px-lg-4">
|
||
<span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span>
|
||
<ul class="list-style-none f5" aria-labelledby="product-explore-heading">
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to All features","label":"ref_cta:All features;"}" href="/features">
|
||
All features
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Documentation","label":"ref_cta:Documentation;"}" href="https://docs.github.com">
|
||
Documentation
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to GitHub Skills","label":"ref_cta:GitHub Skills;"}" href="https://skills.github.com/">
|
||
GitHub Skills
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Blog","label":"ref_cta:Blog;"}" href="https://github.blog">
|
||
Blog
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
|
||
|
||
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
|
||
<button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
|
||
Solutions
|
||
<svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
|
||
<path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
|
||
</svg>
|
||
</button>
|
||
<div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
|
||
<div class="border-bottom pb-3 mb-3">
|
||
<span class="d-block h4 color-fg-default my-1" id="solutions-for-heading">For</span>
|
||
<ul class="list-style-none f5" aria-labelledby="solutions-for-heading">
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Enterprise","label":"ref_cta:Enterprise;"}" href="/enterprise">
|
||
Enterprise
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Teams","label":"ref_cta:Teams;"}" href="/team">
|
||
Teams
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Startups","label":"ref_cta:Startups;"}" href="/enterprise/startups">
|
||
Startups
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Education","label":"ref_cta:Education;"}" href="https://education.github.com">
|
||
Education
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
<div class="border-bottom pb-3 mb-3">
|
||
<span class="d-block h4 color-fg-default my-1" id="solutions-by-solution-heading">By Solution</span>
|
||
<ul class="list-style-none f5" aria-labelledby="solutions-by-solution-heading">
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to CI/CD &amp; Automation","label":"ref_cta:CI/CD &amp; Automation;"}" href="/solutions/ci-cd/">
|
||
CI/CD & Automation
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to DevOps","label":"ref_cta:DevOps;"}" href="/solutions/devops/">
|
||
DevOps
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to DevSecOps","label":"ref_cta:DevSecOps;"}" href="https://resources.github.com/devops/fundamentals/devsecops/">
|
||
DevSecOps
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
<div class="">
|
||
<span class="d-block h4 color-fg-default my-1" id="solutions-resources-heading">Resources</span>
|
||
<ul class="list-style-none f5" aria-labelledby="solutions-resources-heading">
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Learning Pathways","label":"ref_cta:Learning Pathways;"}" href="https://resources.github.com/learn/pathways/">
|
||
Learning Pathways
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to White papers, Ebooks, Webinars","label":"ref_cta:White papers, Ebooks, Webinars;"}" href="https://resources.github.com/">
|
||
White papers, Ebooks, Webinars
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Customer Stories","label":"ref_cta:Customer Stories;"}" href="/customer-stories">
|
||
Customer Stories
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Partners","label":"ref_cta:Partners;"}" href="https://partner.github.com/">
|
||
Partners
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
|
||
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
|
||
</svg>
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
|
||
|
||
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
|
||
<button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
|
||
Open Source
|
||
<svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
|
||
<path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
|
||
</svg>
|
||
</button>
|
||
<div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
|
||
<div class="border-bottom pb-3 mb-3">
|
||
<ul class="list-style-none f5" >
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to GitHub Sponsors","label":"ref_cta:GitHub Sponsors;"}" href="/sponsors">
|
||
|
||
<div>
|
||
<div class="color-fg-default h4">GitHub Sponsors</div>
|
||
Fund open source developers
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
<div class="border-bottom pb-3 mb-3">
|
||
<ul class="list-style-none f5" >
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to The ReadME Project","label":"ref_cta:The ReadME Project;"}" href="/readme">
|
||
|
||
<div>
|
||
<div class="color-fg-default h4">The ReadME Project</div>
|
||
GitHub community articles
|
||
</div>
|
||
|
||
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
<div class="">
|
||
<span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span>
|
||
<ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading">
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to Topics","label":"ref_cta:Topics;"}" href="/topics">
|
||
Topics
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to Trending","label":"ref_cta:Trending;"}" href="/trending">
|
||
Trending
|
||
|
||
|
||
</a></li>
|
||
|
||
<li>
|
||
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to Collections","label":"ref_cta:Collections;"}" href="/collections">
|
||
Collections
|
||
|
||
|
||
</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
|
||
|
||
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
|
||
<a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"category":"Header menu top item (logged out)","action":"click to go to Pricing","label":"ref_cta:Pricing;"}" href="/pricing">Pricing</a>
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
<div class="d-lg-flex flex-items-center mb-3 mb-lg-0 text-center text-lg-left ml-3" style="">
|
||
|
||
|
||
|
||
<qbsearch-input class="search-input" data-scope="repo:bokeh/bokeh" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="XtL80oedMn167-iwBBTR54IAQ597_rnXt_IwUGxmSQkNXtNjnn7-boWIrFOLENrVI0lnqT63bRP5aRwootfmSA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="bokeh/bokeh" data-current-org="bokeh" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-blackbird-indexed-repo-csrf="<esi:include src="/_esi/rails_csrf_token_form_hidden?r=WO0NKbD1wjH0WD6iOD9q1kl9sfz5iTHoq3z9cQrHIywisCTXn0WHwaxn5o9NH2L%2BU1say2B1ZQnSWPZRcoL4T9RIE%2BNHHgcXbyfU6tItrOkICRBS169r3qzXakjcoId%2FJ%2Bc4M%2BCSzWTrRQZQVYsNDIta8BSN6ARrri3fUvBeklizvcLbFhGOlo68gV9aU25HPzbIJzAIE282gdLFRXPfNi1ogHKzO0agvqLzWydTZVcjv1J%2FzRPz9jKmGR4h3jYZ1b%2BjdBBzyLro2KQw4Oixg9FIEHjxFPpa0HheaoE%2BqbrTgAAqlkAFvARqrGf2IfaBchW0ki79Es%2FR0YGynUblqDMW4s%2B6nZn2S6RinpjRF85eP9U0YND%2F4DIXsXhRZ7ai9kldD8B5TwnZQh15B4dGhYocQv4I8caM2t7aSPfgIKZZX79KPJ9zF17orbX4Rqg7J1wVFGnx%2BA6LBP2OAq5gQV0oYfU%2B9DnfdQSuuJ7WW8fco29RMsCAEySCAFnuEFWbJvuPbhSvPD4wQO6HKmkLVz%2BLvtFzUIONL8aXTjlQ0MTUDxMBDfc9hWuu--bG5%2BoPNgFRpiUvKd--7ag68RDxamdatyounMzg5g%3D%3D" />">
|
||
<div
|
||
class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded"
|
||
data-action="click:qbsearch-input#searchInputContainerClicked"
|
||
>
|
||
<button
|
||
type="button"
|
||
class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none"
|
||
data-target="qbsearch-input.inputButton"
|
||
placeholder="Search or jump to..."
|
||
data-hotkey=s,/
|
||
autocapitalize="off"
|
||
data-action="click:qbsearch-input#handleExpand"
|
||
>
|
||
<div class="mr-2 color-fg-muted">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
|
||
<path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
|
||
</svg>
|
||
</div>
|
||
<span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span>
|
||
<div class="d-flex" data-target="qbsearch-input.hotkeyIndicator">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
|
||
|
||
</div>
|
||
</button>
|
||
|
||
<input type="hidden" name="type" class="js-site-search-type-field">
|
||
|
||
|
||
<div class="Overlay--hidden " data-modal-dialog-overlay>
|
||
<modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto">
|
||
<h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1>
|
||
<div class="Overlay-body Overlay-body--paddingNone">
|
||
|
||
<div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
|
||
style="border-radius: 12px;"
|
||
data-target="qbsearch-input.queryBuilderContainer"
|
||
hidden
|
||
>
|
||
<!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
|
||
<query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder">
|
||
<div class="FormControl FormControl--fullWidth">
|
||
<label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only">
|
||
Search
|
||
</label>
|
||
<div
|
||
class="QueryBuilder-StyledInput width-fit "
|
||
data-target="query-builder.styledInput"
|
||
>
|
||
<span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual">
|
||
<path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
|
||
</svg>
|
||
</span>
|
||
<div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer">
|
||
<div
|
||
aria-hidden="true"
|
||
class="QueryBuilder-StyledInputContent"
|
||
data-target="query-builder.styledInputContent"
|
||
></div>
|
||
<div class="QueryBuilder-InputWrapper">
|
||
<div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div>
|
||
<input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-b76d30c4-cc9b-49d9-a4bd-7fb2fd40b768" data-target="query-builder.input" data-action="
|
||
input:query-builder#inputChange
|
||
blur:query-builder#inputBlur
|
||
keydown:query-builder#inputKeydown
|
||
focus:query-builder#inputFocus
|
||
" data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
|
||
</div>
|
||
</div>
|
||
<span class="sr-only" id="query-builder-test-clear">Clear</span>
|
||
<button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action="
|
||
click:query-builder#clear
|
||
focus:query-builder#clearButtonFocus
|
||
blur:query-builder#clearButtonBlur
|
||
" variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual">
|
||
<path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path>
|
||
</svg>
|
||
</button>
|
||
|
||
</div>
|
||
<template id="search-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
|
||
<path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="code-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
|
||
<path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="file-code-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code">
|
||
<path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="history-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
|
||
<path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="repo-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo">
|
||
<path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="bookmark-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark">
|
||
<path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="plus-circle-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle">
|
||
<path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="circle-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill">
|
||
<path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="trash-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
|
||
<path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="team-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people">
|
||
<path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="project-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project">
|
||
<path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="pencil-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
|
||
<path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="copilot-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot">
|
||
<path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="workflow-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow">
|
||
<path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="book-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
|
||
<path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="code-review-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review">
|
||
<path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="codespaces-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces">
|
||
<path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="comment-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment">
|
||
<path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="comment-discussion-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion">
|
||
<path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="organization-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization">
|
||
<path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="rocket-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket">
|
||
<path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="shield-check-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check">
|
||
<path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="heart-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart">
|
||
<path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="server-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server">
|
||
<path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="globe-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe">
|
||
<path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="issue-opened-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
|
||
<path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="device-mobile-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile">
|
||
<path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="package-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package">
|
||
<path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="credit-card-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card">
|
||
<path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="play-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
|
||
<path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="gift-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift">
|
||
<path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="code-square-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square">
|
||
<path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<template id="device-desktop-icon">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
|
||
<path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path>
|
||
</svg>
|
||
</template>
|
||
|
||
<div class="position-relative">
|
||
<ul
|
||
role="listbox"
|
||
class="ActionListWrap QueryBuilder-ListWrap"
|
||
aria-label="Suggestions"
|
||
data-action="
|
||
combobox-commit:query-builder#comboboxCommit
|
||
mousedown:query-builder#resultsMousedown
|
||
"
|
||
data-target="query-builder.resultsList"
|
||
data-persist-list=false
|
||
id="query-builder-test-results"
|
||
></ul>
|
||
</div>
|
||
<div class="FormControl-inlineValidation" id="validation-b76d30c4-cc9b-49d9-a4bd-7fb2fd40b768" hidden="hidden">
|
||
<span class="FormControl-inlineValidation--visual">
|
||
<svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
|
||
<path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
|
||
</svg>
|
||
</span>
|
||
<span></span>
|
||
</div> </div>
|
||
<div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div>
|
||
</query-builder></form>
|
||
<div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt">
|
||
<a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">
|
||
Search syntax tips
|
||
</a> <div class="d-flex flex-1"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</modal-dialog></div>
|
||
</div>
|
||
<div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div>
|
||
<div class="color-fg-default">
|
||
|
||
<dialog-helper>
|
||
<dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade">
|
||
<div data-view-component="true" class="Overlay-header">
|
||
<div class="Overlay-headerContentWrap">
|
||
<div class="Overlay-titleWrap">
|
||
<h1 class="Overlay-title " id="feedback-dialog-title">
|
||
Provide feedback
|
||
</h1>
|
||
</div>
|
||
<div class="Overlay-actionWrap">
|
||
<button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
|
||
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg></button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<scrollable-region data-labelled-by="feedback-dialog-title">
|
||
<div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="FCiV8gvGdzDd/q1BAft8mypoaXFDjMMl/yK8cGUv/wMECS3KCO7LrsVql0uQ1/MaXh+OlwLa45WLyiTrtNg8NQ==" />
|
||
<p>We read every piece of feedback, and take your input very seriously.</p>
|
||
<textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea>
|
||
<input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox">
|
||
<label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label>
|
||
</form></div>
|
||
</scrollable-region>
|
||
<div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel
|
||
</button>
|
||
<button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback
|
||
</button>
|
||
</div>
|
||
</dialog></dialog-helper>
|
||
|
||
<custom-scopes data-target="qbsearch-input.customScopesManager">
|
||
|
||
<dialog-helper>
|
||
<dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade">
|
||
<div data-view-component="true" class="Overlay-header Overlay-header--divided">
|
||
<div class="Overlay-headerContentWrap">
|
||
<div class="Overlay-titleWrap">
|
||
<h1 class="Overlay-title " id="custom-scopes-dialog-title">
|
||
Saved searches
|
||
</h1>
|
||
<h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2>
|
||
</div>
|
||
<div class="Overlay-actionWrap">
|
||
<button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
|
||
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg></button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<scrollable-region data-labelled-by="custom-scopes-dialog-title">
|
||
<div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
|
||
|
||
<div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
|
||
<!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="PguCvCgtsnWSP7GGqjZED5qjqHgIGJKJun0f3GD3oLR3dHCwfyVuaxjINZPu4dfkeopf8xBRmCV/aMpLT5AeUA==" />
|
||
<div data-target="custom-scopes.customScopesModalDialogFlash"></div>
|
||
|
||
<input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
|
||
|
||
<div class="form-group">
|
||
<label for="custom_scope_name">Name</label>
|
||
<auto-check src="/search/custom_scopes/check_name" required>
|
||
<input
|
||
type="text"
|
||
name="custom_scope_name"
|
||
id="custom_scope_name"
|
||
data-target="custom-scopes.customScopesNameField"
|
||
class="form-control"
|
||
autocomplete="off"
|
||
placeholder="github-ruby"
|
||
required
|
||
maxlength="50">
|
||
<input type="hidden" data-csrf="true" value="MQo1o5510tBUnhKxEdQo/EFSK2uIMXKpUpyf0fzpOmIsuAL5oW3YkeZ7v+ybN2h6m56J1m8YkTkUvyp1bQ+0fg==" />
|
||
</auto-check>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label for="custom_scope_query">Query</label>
|
||
<input
|
||
type="text"
|
||
name="custom_scope_query"
|
||
id="custom_scope_query"
|
||
data-target="custom-scopes.customScopesQueryField"
|
||
class="form-control"
|
||
autocomplete="off"
|
||
placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
|
||
required
|
||
maxlength="500">
|
||
</div>
|
||
|
||
<p class="text-small color-fg-muted">
|
||
To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
|
||
</p>
|
||
</form> </div>
|
||
|
||
<div data-target="custom-scopes.manageCustomScopesForm">
|
||
<div data-target="custom-scopes.list"></div>
|
||
</div>
|
||
|
||
</div>
|
||
</scrollable-region>
|
||
<div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel
|
||
</button>
|
||
<button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search
|
||
</button>
|
||
</div>
|
||
</dialog></dialog-helper>
|
||
</custom-scopes>
|
||
</div>
|
||
</qbsearch-input><input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="d0Y8Mop0nj7XbG7QAT1wuKQbq69RHXqAi+L1d6wW7tJ+n+taOH7fwZgq5vPz6/8Mvk6j73qjf5i2uqJM+UB0pg==" />
|
||
|
||
|
||
<div class="position-relative mr-lg-3 d-lg-inline-block">
|
||
<a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fbokeh%2Fbokeh%2Fblob%2F3.4.0%2Fdocs%2FCHANGELOG"
|
||
class="HeaderMenu-link HeaderMenu-link--sign-in flex-shrink-0 no-underline d-block d-lg-inline-block border border-lg-0 rounded rounded-lg-0 p-2 p-lg-0"
|
||
data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG","user_id":null}}" data-hydro-click-hmac="65586b6b9f98eaabd06fced313a8b8296f804a3dbc0cb846687678f0f150760a"
|
||
data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
|
||
Sign in
|
||
</a>
|
||
</div>
|
||
|
||
<a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo&source_repo=bokeh%2Fbokeh"
|
||
class="HeaderMenu-link HeaderMenu-link--sign-up flex-shrink-0 d-none d-lg-inline-block no-underline border color-border-default rounded px-2 py-1"
|
||
data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG","user_id":null}}" data-hydro-click-hmac="65586b6b9f98eaabd06fced313a8b8296f804a3dbc0cb846687678f0f150760a"
|
||
data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/blob/show;ref_cta:Sign up;ref_loc:header logged out"}"
|
||
>
|
||
Sign up
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full mb-3">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
|
||
<path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
|
||
</svg>
|
||
<span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
|
||
<span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
|
||
<span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
|
||
|
||
<button id="icon-button-43015842-e66e-4aa1-b580-085c8f66f31d" aria-labelledby="tooltip-1c1ad544-1153-4560-b950-5c1aa5c648d0" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
|
||
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
</button><tool-tip id="tooltip-1c1ad544-1153-4560-b950-5c1aa5c648d0" for="icon-button-43015842-e66e-4aa1-b580-085c8f66f31d" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div id="start-of-content" class="show-on-focus"></div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div id="js-flash-container" data-turbo-replace>
|
||
|
||
|
||
|
||
|
||
|
||
<template class="js-flash-template">
|
||
|
||
<div class="flash flash-full {{ className }}">
|
||
<div >
|
||
<button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
|
||
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
</button>
|
||
<div aria-atomic="true" role="alert" class="js-flash-alert">
|
||
|
||
<div>{{ message }}</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
</div>
|
||
|
||
|
||
|
||
<include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
|
||
|
||
|
||
|
||
|
||
|
||
<div
|
||
class="application-main "
|
||
data-commit-hovercards-enabled
|
||
data-discussion-hovercards-enabled
|
||
data-issue-and-pr-hovercards-enabled
|
||
>
|
||
<div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
|
||
<main id="js-repo-pjax-container" >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace>
|
||
|
||
<div class="d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5" style="gap: 1rem;">
|
||
|
||
<div class="flex-auto min-width-0 width-fit mr-3">
|
||
|
||
<div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2">
|
||
<path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
|
||
</svg>
|
||
|
||
<span class="author flex-self-stretch" itemprop="author">
|
||
<a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/bokeh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/bokeh">
|
||
bokeh
|
||
</a> </span>
|
||
<span class="mx-1 flex-self-stretch color-fg-muted">/</span>
|
||
<strong itemprop="name" class="mr-2 flex-self-stretch">
|
||
<a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/bokeh/bokeh">bokeh</a>
|
||
</strong>
|
||
|
||
<span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
<div id="repository-details-container" data-turbo-replace>
|
||
<ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
|
||
|
||
<li>
|
||
<include-fragment src="/bokeh/bokeh/sponsor_button"></include-fragment>
|
||
</li>
|
||
|
||
|
||
|
||
<li>
|
||
<a href="/login?return_to=%2Fbokeh%2Fbokeh" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG","user_id":null}}" data-hydro-click-hmac="c6ff2ef306cd6422ce2c1ef965b0a35e3732d517e106460b7d30075d8db97b26" aria-label="You must be signed in to change notification settings" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2">
|
||
<path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path>
|
||
</svg>Notifications
|
||
</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fbokeh%2Fbokeh" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":3834332,"auth_type":"LOG_IN","originating_url":"https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG","user_id":null}}" data-hydro-click-hmac="b6ad17c56f5f63fe8191fb3bda38c25d6d468f33fa45a750547609144abefe32" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2">
|
||
<path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path>
|
||
</svg>Fork
|
||
<span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="4,156" data-view-component="true" class="Counter">4.2k</span>
|
||
</a>
|
||
</li>
|
||
|
||
<li>
|
||
<div data-view-component="true" class="BtnGroup d-flex">
|
||
<a href="/login?return_to=%2Fbokeh%2Fbokeh" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":3834332,"auth_type":"LOG_IN","originating_url":"https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG","user_id":null}}" data-hydro-click-hmac="75068c1cb13e8149b091dde35464ce56db22355f061469e978f99f3bf8dd3f93" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2">
|
||
<path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path>
|
||
</svg><span data-view-component="true" class="d-inline">
|
||
Star
|
||
</span> <span id="repo-stars-counter-star" aria-label="18784 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="18,784" data-view-component="true" class="Counter js-social-count">18.8k</span>
|
||
</a> <button aria-label="You must be signed in to add this repository to a list" type="button" disabled="disabled" data-view-component="true" class="btn-sm btn BtnGroup-item px-2"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down">
|
||
<path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path>
|
||
</svg>
|
||
</button></div>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
|
||
</li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div id="responsive-meta-container" data-turbo-replace>
|
||
</div>
|
||
|
||
|
||
<nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">
|
||
|
||
<ul data-view-component="true" class="UnderlineNav-body list-style-none">
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="code-tab" href="/bokeh/bokeh/tree/3.4.0" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /bokeh/bokeh/tree/3.4.0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
<span data-content="Code">Code</span>
|
||
<span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
|
||
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="issues-tab" href="/bokeh/bokeh/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /bokeh/bokeh/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
|
||
</svg>
|
||
<span data-content="Issues">Issues</span>
|
||
<span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="729" data-view-component="true" class="Counter">729</span>
|
||
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="pull-requests-tab" href="/bokeh/bokeh/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /bokeh/bokeh/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
|
||
</svg>
|
||
<span data-content="Pull requests">Pull requests</span>
|
||
<span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="34" data-view-component="true" class="Counter">34</span>
|
||
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="discussions-tab" href="/bokeh/bokeh/discussions" data-tab-item="i3discussions-tab" data-selected-links="repo_discussions /bokeh/bokeh/discussions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g g" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Discussions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path>
|
||
</svg>
|
||
<span data-content="Discussions">Discussions</span>
|
||
<span id="discussions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
|
||
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="actions-tab" href="/bokeh/bokeh/actions" data-tab-item="i4actions-tab" data-selected-links="repo_actions /bokeh/bokeh/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
|
||
</svg>
|
||
<span data-content="Actions">Actions</span>
|
||
<span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
|
||
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="projects-tab" href="/bokeh/bokeh/projects" data-tab-item="i5projects-tab" data-selected-links="repo_projects new_repo_project repo_project /bokeh/bokeh/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
|
||
</svg>
|
||
<span data-content="Projects">Projects</span>
|
||
<span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="6" data-view-component="true" class="Counter">6</span>
|
||
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="wiki-tab" href="/bokeh/bokeh/wiki" data-tab-item="i6wiki-tab" data-selected-links="repo_wiki /bokeh/bokeh/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Wiki","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
|
||
</svg>
|
||
<span data-content="Wiki">Wiki</span>
|
||
<span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
|
||
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="security-tab" href="/bokeh/bokeh/security" data-tab-item="i7security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /bokeh/bokeh/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
|
||
</svg>
|
||
<span data-content="Security">Security</span>
|
||
<include-fragment src="/bokeh/bokeh/security/overall-count" accept="text/fragment+html"></include-fragment>
|
||
|
||
|
||
</a></li>
|
||
<li data-view-component="true" class="d-inline-flex">
|
||
<a id="insights-tab" href="/bokeh/bokeh/pulse" data-tab-item="i8insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /bokeh/bokeh/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
|
||
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
|
||
<path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
|
||
</svg>
|
||
<span data-content="Insights">Insights</span>
|
||
<span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
|
||
|
||
|
||
|
||
</a></li>
|
||
</ul>
|
||
<div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true">
|
||
<focus-group direction="vertical" mnemonics retain>
|
||
<button id="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-button" popovertarget="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-overlay" aria-controls="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-list" aria-haspopup="true" aria-labelledby="tooltip-c1997586-4db4-419f-875e-d0e15719452d" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual">
|
||
<path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path>
|
||
</svg>
|
||
</button><tool-tip id="tooltip-c1997586-4db4-419f-875e-d0e15719452d" for="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip>
|
||
|
||
|
||
<anchored-position id="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-overlay" anchor="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true">
|
||
<div data-view-component="true" class="Overlay Overlay--size-auto">
|
||
|
||
<div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list>
|
||
<div data-view-component="true">
|
||
<ul aria-labelledby="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-button" id="action-menu-6c400533-4f8b-4d95-afc0-509c82fe9a73-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap">
|
||
<li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-f0022af1-65ee-427b-855a-f7dac2e90f32" href="/bokeh/bokeh/tree/3.4.0" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
|
||
<path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Code
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-f5525ba4-810a-414f-b2d0-e37e1154fd78" href="/bokeh/bokeh/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
|
||
<path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Issues
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-e357b0c4-4ebe-481a-b254-d41961bd6ea1" href="/bokeh/bokeh/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request">
|
||
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Pull requests
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i3discussions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-17438398-9d16-4c79-b668-1e0c6b6a5744" href="/bokeh/bokeh/discussions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion">
|
||
<path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Discussions
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i4actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-8b162f08-542e-44db-b338-eaf6c930fd34" href="/bokeh/bokeh/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
|
||
<path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Actions
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i5projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-2e48a722-e37d-430c-946e-19c4ac8a6010" href="/bokeh/bokeh/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table">
|
||
<path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Projects
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i6wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-ee36c39f-82e8-4125-a876-05378ae6bd77" href="/bokeh/bokeh/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
|
||
<path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Wiki
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i7security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-7884f52a-c612-48a1-8aac-43ad5985486d" href="/bokeh/bokeh/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield">
|
||
<path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Security
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
<li hidden="hidden" data-menu-item="i8insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
|
||
|
||
<a tabindex="-1" id="item-46776b4f-0052-422f-8782-39f66fea524c" href="/bokeh/bokeh/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
|
||
<span class="ActionListItem-visual ActionListItem-visual--leading">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph">
|
||
<path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
|
||
</svg>
|
||
</span>
|
||
|
||
<span data-view-component="true" class="ActionListItem-label">
|
||
Insights
|
||
</span></a>
|
||
|
||
|
||
</li>
|
||
</ul>
|
||
</div></action-list>
|
||
|
||
|
||
</div>
|
||
|
||
</div></anchored-position> </focus-group>
|
||
</action-menu></div>
|
||
</nav>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
|
||
<div id="repo-content-pjax-container" class="repository-content " >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<react-app
|
||
app-name="react-code-view"
|
||
initial-path="/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG"
|
||
style="min-height: calc(100vh - 64px)"
|
||
data-ssr="false"
|
||
data-lazy="false"
|
||
data-alternate="false"
|
||
>
|
||
|
||
<script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"docs":{"items":[{"name":"bokeh","path":"docs/bokeh","contentType":"directory"},{"name":"CHANGELOG","path":"docs/CHANGELOG","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"docs/CODE_OF_CONDUCT.md","contentType":"file"},{"name":"SECURITY.md","path":"docs/SECURITY.md","contentType":"file"}],"totalCount":4},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"bokehjs","path":"bokehjs","contentType":"directory"},{"name":"conda","path":"conda","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"examples","path":"examples","contentType":"directory"},{"name":"release","path":"release","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":"tests","path":"tests","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"MANIFEST.in","path":"MANIFEST.in","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"setup.py","path":"setup.py","contentType":"file"}],"totalCount":16}},"fileTreeProcessingTime":5.576284,"foldersToFetch":[],"repo":{"id":3834332,"defaultBranch":"branch-3.5","name":"bokeh","ownerLogin":"bokeh","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-03-26T15:40:01.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8440965?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"3.4.0","listCacheKey":"v0:1712759572.0","canEdit":false,"refType":"tag","currentOid":"b8b05b2529bf62e26e6943c1158ad9822c8b0308"},"path":"docs/CHANGELOG","currentUser":null,"blob":{"rawLines":["2024-03-14 3.4:","--------------------"," * bugfixes:"," - #6826 [component: bokehjs] Tap events not registering during MouseMove events "," - #8508 [component: bokehjs] Tap event latency"," - #10782 [component: bokehjs] Typo in prelude.ts"," - #11794 `BOKEH_DEV=true` assumes file resources when using the server"," - #12088 [component: bokehjs] [BUG] Select widget has no value if only options are provided but the UI suggests otherwise"," - #12616 [component: bokehjs] [BUG] installing bokehjs from npm doesn't pull in dependencies"," - #12870 [component: bokehjs] [BUG] DatetimeTickFormatter strips leading 0 in \"%H\" format, works in \" %H\""," - #13071 [component: bokehjs] [BUG] Pinching zoom-in on touch devices"," - #13131 [component: bokehjs] roots added in a callback are not displayed"," - #13157 [component: bokehjs] Prevent blink when updating ImageURL source"," - #13281 [component: bokehjs] font-size does not depend on --font-size css variable"," - #13293 [component: bokehjs] [BUG] _hit_point() is broken in VAreaStep"," - #13337 [component: bokehjs] [BUG] `output_notebook(resources=INLINE)` in jupyter lab does not load jquery"," - #13362 [component: bokehjs] [BUG] Inconsistent handling of background and border fill alpha"," - #13378 [component: bokehjs] [BUG] `Axis.major_label_overrides` being `{}` causing error in deserialization"," - #13389 Unable to clone models with readonly properties"," - #13421 `bokehjsdir(dev=True)` doesn't resolve `bokehjs/build` anymore"," - #13441 [component: bokehjs] [BUG] filter.booleans doesn't trigger the re-render of the plot"," - #13483 [component: bokehjs] [BUG] RangeTool does not respect target `max_interval`"," - #13499 [BUG] Latex does not render in Notebook"," - #13500 [component: bokehjs] [BUG] Box edit tool using all supported glyphs"," - #13520 [component: bokehjs] [BUG] Template does not seem to render correctly in Firefox"," - #13524 [component: docs] [BUG] Missing SRI hash for version 2.2.2"," - #13525 [component: docs] [BUG] Unexpected attribute 'size' to Circle"," - #13536 [component: bokehjs] ColumnDataSource.selected.indices incompatibility with CDSView.filter.indices [BUG] "," - #13555 [component: bokehjs] [BUG] image hover value is wrong on inverted axes"," - #13558 [component: build] Release build CI workflow fails"," - #13563 [BUG] Return type of the Model.__new__ function is incorrect"," - #13583 [component: tests] `minimal-deps` CI job fails with \"coroutine was never awaited\""," - #13598 [component: bokehjs] [BUG] Improve NaT support for HoverTool"," - #13607 [component: bokehjs] [BUG] Multiple inline math elements in different axes causing axis labels to disappear"," - #13611 [component: bokehjs] [BUG] Layout won’t update after curdoc().unhold()"," - #13637 [BUG] Regression handling glyph border_radius that is a dict"," - #13648 [component: bokehjs] [BUG] WebGL Rect with large corner radius rendered incorrectly"," - #13678 [component: bokehjs] [BUG] Using tap tool makes image glyph disappear with webgl enabled"," - #13679 [component: examples] Deprecation warning in notebook_embed.ipynb"," - #13688 Useless error formatting can be sometimes costly in on_change setup"," - #13698 [component: docs] Missing links in docs in \"Third-party integrations\" page"," - #13716 Errors related to MIN_PREFERRED_MAX_WIDTH while building the docs"," - #13717 [component: docs] Broken page in the docs"," - #13729 [component: docs] [BUG] Documentation Missing space character in the command to enable jupyter server extension in jupyterLab docs. "," - #13739 [component: docs] [BUG] Documentation: TypeScript in Custom Extensions section fails to compile"," - #13743 VBox is not working in 3.4.0rc1"," - #13755 [component: bokehjs] [BUG] Button does not updated when property is changed"," - #13756 [component: bokehjs] `Tooltip` node positioning is wrong when the target is offset"," - #13713 [component: build] Fix logic in plugin prelude"," - #13718 [component: docs] add MathTextGlyph to imports"," - #13737 [component: build] Include generated TS modules in extensions' build"," - #13741 [component: bokehjs] Avoid spurious warning about Py/Js version mismatch"," - #13758 [component: docs] fix broken link in first_steps_9.rst",""," * features:"," - #2367 Different sizes not used for selection \u0026 nonselection glyphs"," - #4284 Add attribution annotation"," - #4416 Add support Title/Label bounding box padding"," - #8153 [component: bokehjs] Feature Request: Hide some (but not all) tools from toolbar"," - #8519 Overlapping attribution for labels tiles"," - #8898 [component: bokehjs] Allow Select to accept non-string option values"," - #9843 categorical slider"," - #10317 [BUG] Cannot deselect with TapTool"," - #10583 The empty_value property of EditTools needs generalizing"," - #12243 [FEATURE] DataTable from_dataframe() "," - #12651 [BUG] bokeh.plotting.graph.from_networkx fails on graphs having nodes with string index values"," - #13291 [FEATURE] Inline widgets for data entry"," - #13349 [component: bokehjs] Tooltip for tab panels"," - #13682 [FEATURE] - DataTable - Conditional Formatting"," - #13697 [component: bokehjs] [BUG] HoverTool can't adress source with `ö`"," - #13612 Add support for math text glyphs"," - #13625 Allow users to provide custom units of measurement",""," * tasks:"," - #3529 Unify dev and non-minified resources"," - #9684 [component: bokehjs] If BokehJS isn't available, error message should be displayed"," - #10157 [component: examples] Replacing Iris data with penguin data"," - #12941 [component: build] Don't upload ESM files to CDN"," - #13246 Complete the consolidation of scatter markers in bokeh.plotting"," - #13381 [component: docs] Document new-style (ESM) JS callbacks"," - #13387 [component: docs] [FEATURE] Improving the \"Deployment scenario\" section of the user guide"," - #13430 [component: build] Split up _sri.json"," - #13485 Update contour line calculations to use ContourPy's LineType.ChunkCombinedNan"," - #13533 Errors in codebase CI runs using MyPy 1.7.0"," - #13570 [component: docs] Add documentation and tests for non-visual overrides (PR #13554)"," - #13585 [component: bokehjs] [BUG] HTML `\u003clabel\u003e` elements are not referencing the item they are labeling"," - #13629 Use globally unique and CSS safe IDs in `\u003cscript type=\"application/json\"\u003e`"," - #13667 [BUG] Display Greek small letter mu"," - #13669 [component: examples] Stadia tiles not displaying"," - #13680 Remove year or year range from copyright notices"," - #13700 [component: docs] [BUG] Outdated link in warning for standalone Python callback"," - #13734 [component: docs] Typo in the documentation related to writing tests in the Contribute section"," - #13736 [component: docs] App README links are all old / bad"," - #13096 [component: examples] Show how to reference the same field multiple times in hover tool's formatters"," - #13448 Use `Never` type if function doesn't return"," - #13449 [component: bokehjs] Use curly brackets in bokehjs for all statements"," - #13450 [component: bokehjs] Remove `bokehjs/src/lib/testing.ts`"," - #13451 [component: bokehjs] Add support for function callbacks in bokehjs"," - #13465 [component: tests] Robustify type expectations greatly reduce `!` usage in tests"," - #13470 [component: examples] simplify and use more latex ticks"," - #13481 [component: bokehjs] Fix unawaited promises and modernize interactive tests"," - #13493 [component: tests] Optimize performance of loading visual baselines"," - #13537 Rename `ColorMap` to `PaletteSelect` and improve it"," - #13539 [component: docs] Update server example URLs"," - #13540 [component: bokehjs] Decouple `Tool` event handlers from state/active management"," - #13565 [component: build] Migrate bokehjs' bundles from ES2017 to ES2020"," - #13575 [component: examples] Added metadata to position_toolbar.py, position_toolbar_clash.py, and toolbar_autohide.py"," - #13582 [component: tests] Sort defaults' baseline by fully qualified names"," - #13586 [component: bokehjs] Added `for` tag to HTML `\u003clabel\u003e` element to reference input fields"," - #13601 [component: bokehjs] Upgrade TypeScript to version 5.3 and upgrade other depenencies"," - #13605 [component: build] Relativize imports paths also in type declaration files (`*.d.ts`)"," - #13610 [component: build] Don't use implicit command-line arguments in bokehjs"," - #13651 [component: bokehjs] Use simpler shader for rect-like glyphs without rounded corners"," - #13689 Improve `PlainObjectProxy` and remove unnecessary `hasOwnProperty()`"," - #13693 Upgrade nodejs to 20.x (LTS) in CI"," - #13701 [component: bokehjs] Normalize enum definitions in bokehjs; remove redundancy"," - #13703 [component: bokehjs] Finalize migration to obligatory curly brackets"," - #13707 Upgrade mypy, pandas-stubs and ruff and fix issues"," - #13709 [component: docs] Update examples for legends"," - #13722 Rename property kinds that conflict with JS builtins"," - #13724 [component: tests] Ignore `pytest.PytestUnraisableExceptionWarning`"," - #13744 [component: docs] Update bokeh 3.4.0 release notes"," - #13746 [component: docs] remove double space in example code"," - #13753 [component: docs] Add documentation for `ScaleBar` annotation","","2023-10-10 3.3:","--------------------"," * bugfixes:"," - #7671 [component: bokehjs] Tool tip remains while using a scroll tool"," - #11273 [component: bokehjs] [BUG] hover tooltip is cut off when the tooltip is tall and hover near the top of the plot"," - #13170 [component: server] [BUG] Static paths loaded always from localhost in Bokeh 3.1.1"," - #13195 [component: bokehjs] [BUG] WebGL with dashed line is not working when click_policy is muted"," - #13196 Setting readonly properties in model constructors shouldn't be allowed"," - #13257 [BUG] FileNotFoundError when setting icon for BoxSelectTool"," - #13284 [component: bokehjs] Reset WebGL changed flags on data glyph not visual glyphs"," - #13311 [component: tests] Bokeh build failing"," - #13315 [component: bokehjs] [BUG] RangeTool allows target plot to pan beyond explicit range bounds"," - #13323 [component: bokehjs] Layout is broken when using `RangeTool` and other weird behavior"," - #13347 [component: bokehjs] Long tooltip can trigger viewport scrollbars"," - #13369 [BUG] gridplot got multiple values for keyword argument 'logo'"," - #13377 [component: bokehjs] [BUG] `value_throttled` being `Unset` prevents serialization of some widgets"," - #13380 [component: tests] Examples tests are failing due to a missing dependency"," - #13400 [component: build] Release build fails with `FileNotFoundError`"," - #13407 [component: tests] Tests and CI is broken due to urllib3 incompatibility",""," * features:"," - #2325 [component: bokehjs] Lasso select not working on patches"," - #11571 [FEATURE] Make AutocompleteInput more usable by providing an option to match any part of the input items"," - #11755 [FEATURE] Show scale in map"," - #13200 [FEATURE] Preserve category information for categorical colormapping"," - #13203 [FEATURE] Make BoxEditTool support Quad Model"," - #13210 Unable to plot a polars.Series with bokeh 3"," - #13211 [component: bokehjs] Allow inline LaTeX support"," - #13295 Non-specific error when the DataFrame Used to construct a ColumnDataSource contains non-string keys"," - #13339 [FEATURE] Allow zoom tools to scale subplots/subcoordinates"," - #13403 [FEATURE] Transparent use on JupyterHub"," - #13212 Add more options for specifying contour colors"," - #13269 Add support for `ColorMap` (palette selector) widget"," - #13366 Add stack_labels property to WeightedStackColorMapper",""," * tasks:"," - #8807 Support scale factor for PNG output"," - #12548 [component: docs] Unpin Sphinx theme"," - #12625 export_png doesn't find chrome webdriver because it was installed as chromedriver-binary "," - #13125 Replace utcnow and utcfromtimestamp function calls"," - #13136 [component: bokehjs] WebGL support for image glyphs"," - #13324 Selenium deprecation warning because of log_path "," - #13329 Restore full top-menu in docs"," - #13330 Foward-port 3.2.2 SRI hashes and changelog"," - #13356 [component: docs] Update tutorials URL to new tutorial"," - #13360 [component: docs] Explicitly document conf.py changes for bokeh.sphinxext"," - #13385 [component: docs] [FEATURE] Document location of intersphinx file"," - #13392 [component: docs] [BUG] Interspinx link added by me in #13386 is wrong"," - #12068 [component: examples] Add a variant of ridgeplot example that uses sub-coordinates"," - #13175 [component: bokehjs] Implement WebGL multi_line glyph"," - #13193 [component: bokehjs] Hover tooltip for ImageStack glyph"," - #13215 Use PEP 673 `Self` type instead of `TypeVar(..., bound=...)`"," - #13227 Forward ports from 3.2"," - #13301 [component: bokehjs] Improve WebGL conversion to ReGL AttributeConfig"," - #13304 [component: tests] Allow to configure Chromium executable"," - #13309 [component: tests] Allow to serve bokeh examples from bokehjs' devtools server"," - #13327 [component: tests] Mark Test_webdriver_control and test_get_screenshot_as_png_* as selenium tests"," - #13333 [component: bokehjs] Don't `set_data()` when `FactorRange.{start,end}` changes"," - #13334 [component: bokehjs] Improve performance of invalidation of refs in bokehjs"," - #13342 Upgrade to ruff 0.0.285"," - #13343 [component: bokehjs] Control random (and np.random) seed in devtools' server"," - #13352 [component: build] Upgrade to TypeScript 5.2"," - #13353 [component: docs] 13276 fix issues in documentation part two"," - #13368 [component: docs] Add more examples in the gallery"," - #13376 [component: docs] added gallery json and png file to new example"," - #13398 [component: docs] Clarify CODE_OF_CONDUCT.md escalation section"," - #13399 [component: docs] Update 3.3.0 release notes"," - #13405 [component: docs] fix tile_providery.py"," - #13408 [component: examples] Correlogram example."," - #13417 [component: docs] Update and restructure categorical chapter"," - #13418 Misc 3.3 docs changes"," - #13419 [component: build] Add Python 3.12 to CI","","2023-08-13 3.2.2:","--------------------"," * bugfixes:"," - #13265 [BUG] Merging tools in `gridplot` leads to wrong active state next to tool icon"," - #13288 [BUG] construct_color_bar does not support ImageStack glyph"," - #13307 [component: tests] Incorrect file docstrings in tests/support/plugins directory"," - #13314 [BUG] CDS stream broken for larger rollover",""," * tasks:"," - #13126 [component: examples] [BUG] Mismatch in GroupFilter documentation example between text and code"," - #13305 [component: docs] 13276 easy fixes in documentation"," - #13326 Backports for 3.2.2","","2023-07-20 3.2.1:","--------------------"," * bugfixes:"," - #13139 [component: bokehjs] Error in downstream library when rendering WebGL canvas with width or height of zero"," - #13162 [component: docs] Broken link in docs/first_steps/first_steps_9.html"," - #13248 [component: bokehjs] [BUG] Browser freezes when deleting notebook cell containing plot with TileSource"," - #13252 [component: bokehjs] [BUG] plots in png generated by SaveTool on gridplot layout overlap"," - #13255 [component: bokehjs] [BUG] Enabling/Disabled DatePickers does not work"," - #13262 [component: bokehjs] [BUG] Legend draws 3 columns but `ncols` is set to 2"," - #13254 [component: bokehjs] Use `../core/kinds` instead of `core/kinds` in imports"," - #13270 [component: docs] Update theme.py"," - #13274 [component: docs] fix unterminated string literals in example code [skip ci]",""," * tasks:"," - #13226 [component: bokehjs] [FEATURE] make bokehjs ndarrays cloneable to enable client-side image transforms"," - #13272 [component: docs] update docs to show legend support for `nrows` and `ncols`"," - #13271 Backports for 3.2.1","","2023-06-21 3.2:","--------------------"," * bugfixes:"," - #11852 [BUG] DataRange.renderers.append fails silently"," - #12078 [component: bokehjs] [BUG] Non-circle hover glyphs permanently rendered with vline/hline mode"," - #12718 [component: bokehjs] [BUG] Changing view's filter with group based legend causes redraw in canvas to be shifted"," - #12951 [component: bokehjs] [BUG] bokeh.models.Tooltip causes rendering error"," - #12956 [component: bokehjs] [BUG] DataTable requires custom scaling in Bokeh 3.1.0"," - #13015 [BUG] select(CategoricalColorMapper) returns an empty array"," - #13112 [component: bokehjs] [BUG] Setting source.selected.indices fails on glyphs that contain text"," - #13134 [component: bokehjs] [BUG] IndexFilter indices no longer accepts numpy.ndarray"," - #13150 [component: bokehjs] [BUG] Nodes of networkx graph not rendered using webgl backend"," - #13152 [component: tests] Tests fail due to `requests` and `urllib3` 2.x incompatibility"," - #13159 [component: docs] [BUG] Small typos in the docs"," - #13182 [component: bokehjs] [BUG] legend_field labels no longer update with CDS in Bokeh 3"," - #13187 [component: docs] [BUG] Missing import in minimal example in dom.rst"," - #13192 [component: bokehjs] [BUG] Cannot reset enabled_dates in DatePicker"," - #13197 Release deploy fails with `AccessDenied` when publishing documentation"," - #13217 [component: bokehjs] js_link is broken"," - #13222 [component: docs] Search bar is missing from dev docs"," - #13135 [component: docs] Fix typo"," - #13202 [component: docs] Update theme.py",""," * features:"," - #7093 [component: bokehjs] A ColorBar needs a label, as a plot needs a ColorBar"," - #12062 [component: bokehjs] [FEATURE] Support varea with step lines"," - #12532 [FEATURE] Access to know whether user ctrl-clicks, shift-clicks, or command-clicks in CustomJS callback"," - #12829 [FEATURE] Independent extra ranges in a single figure"," - #13036 Ability to rotate axis labels by adding 'axis_label_orientation'"," - #12677 Add support for `HSpan`, `VSpan`, `HStrip` and `VStrip`"," - #12704 Add webgl support to `Annulus`, `Wedge` and `AnnularWedge`"," - #12812 Add support for ES module (`import`/`export` syntax) callbacks",""," * tasks:"," - #7156 [component: build] Standalone mode: images referenced in CSS files are missing"," - #12278 [component: tests] Add a method for generating bokehjs' JSON tests assests"," - #12872 [BUG] ResourceWarning: unclosed file"," - #12936 [FEATURE] Update ruff to include W291 (trailing whitespace)"," - #13058 Check if sample data files are outdated before loading them"," - #13114 [BUG] bokeh.embed.file_html produces unhelpful error message if passing a Document with no root models"," - #13116 [component: examples] Burtin example has a bad tick format "," - #13117 Update AWS CI role for docs deploy"," - #13122 [component: build] sdist builds require git tags"," - #13143 [BUG] Ruff pyupgrade keep-runtime-annotations is obsolete."," - #12720 Drop support for Python 3.8"," - #12920 [component: docs] Added metadata to legends.py"," - #12922 [component: examples] Updated colors of Band Plots"," - #12923 [component: docs] added accessible color palette"," - #12944 Forward ports from 3.1"," - #12950 added metadata to twin_axis.py"," - #12953 [component: examples] Update to Bokeh example plot: accessible palette with new images"," - #12959 [component: examples] Increased alpha of the circle plot "," - #12967 [component: docs] 11765 add metadata to plots"," - #12970 Added Images for new Band Plots"," - #12975 [component: docs] added metadata to legends_item_visibility.py"," - #12977 [component: build] Upgrade to TypeScript 5.0"," - #12979 [component: docs] Add metadata to plots (#11765)"," - #12982 [component: docs] Update example metadata"," - #12983 [component: examples] Improve color contrast for accessibility"," - #12984 [component: docs] Added reference for server.py file"," - #12990 [component: docs] Update text.py with metadata"," - #12991 [component: docs] Added metadata to setvalue.py"," - #12992 [component: docs] Update metadata to legend_hide and tile_xyzservices"," - #12993 [component: docs] Added metadata to label.py and whisker.py"," - #12995 [component: docs] Updated server.py reference"," - #12998 [component: docs] Added metadata to band.py for Band Plots"," - #12999 [component: examples] Updated colors of Twin Axes Plots"," - #13006 [component: docs] Add metadata to image alpha"," - #13012 [component: docs] Added metadata to examples/plotting/aspect.py"," - #13013 [component: examples] Updated colors of Slope Plots"," - #13018 [component: examples] Updating nested_colormapped with new accessible palettes"," - #13022 [component: docs] Line select metadata"," - #13023 [component: docs] 11765 maps cities"," - #13024 [component: examples] changed span example lines from solid to dashed"," - #13031 Updated colors of Mixed Plots"," - #13043 [component: docs] added metadata to tooltip_content.py, arc.py "," - #13047 [component: docs] Added metadata to theme_glyphs"," - #13050 [component: docs] added metadata to examples/plotting/polar.py"," - #13051 [component: docs] Added metadata for examples/models/toolbars2.py"," - #13069 [component: examples] Disable `na_filter` instead of ignoring incorrectly parsed NaNs"," - #13094 [component: docs] Update docs infrastructure"," - #13140 [component: bokehjs] Do not blit webgl canvas if width or height are zero"," - #13142 Improve handling of resources in lower level embed APIs"," - #13145 Upgrade to ruff 0.0.269 and further modernize bokeh's codebase"," - #13146 [component: bokehjs] Separate type imports from value/mixed imports in bokehjs"," - #13153 [component: server] Allow to recover from deserialization of a previously seen ref"," - #13169 [component: docs] Don't turn warnings into errors in sphinx-build"," - #13173 [component: bokehjs] Clean up the rest of eslint warnings and refactor its config"," - #13174 Do not resolve default descriptor value if already present in unstable defaults"," - #13178 [component: docs] Add ColorBar to LaTeX docs"," - #13208 [component: docs] Update bokeh 3.2.0 release notes"," - #13220 [component: examples] remove text duplicate in burtin.py"," - #13221 [component: examples] Remove unneeded backslash in LaTeX [skip ci]","","2023-05-05 3.1.1:","--------------------"," * bugfixes:"," - #10547 [BUG] Division element id of components can be invalid for CSS"," - #12400 [component: server] [BUG] Domain is not resolved correctly when using BOKEH_RESOURCES=server"," - #12905 `load_notebook()` uses non-unique DOM element IDs"," - #12913 [component: bokehjs] [BUG] Artifacts on the signal when using WebGL to plot"," - #12926 [component: build] bokehjs' build fails on Windows 10 due to creating symlinks"," - #13056 [component: examples] `autocompleteinput.py` example doesn't work with pandas 2.0"," - #13060 [component: docs] `README.md` in `examples/` doesn't reflect the contents of the directory"," - #13081 [component: bokehjs] [BUG] Incorrect behaviour of Slider control on Safari (macOS)"," - #13104 [component: bokehjs] Heavy `lazy_initialize()` can result in a race condition"," - #13108 [BUG] Fix broken link to tools guide"," - #13062 Fix bokeh.sphinxext.util after PR #13041"," - #13070 [component: server] Fix `MultiRootStaticHandler` after PR #13041"," - #13086 [component: docs] fix broken docs refs"," - #13100 [component: bokehjs] Fix race conditions related to layout resize and updates",""," * tasks:"," - #6683 [component: bokehjs] accent are sorted last in sorted Tablecolumn"," - #10408 [component: bokehjs] Investigate duplicated `ctx.stroke()` in various hatch patterns"," - #11335 [component: build] Display a list of installed dependencies and related software in CI"," - #11782 [component: bokehjs] [FEATURE] Propagate Name attribute to js for all Models"," - #12729 [component: docs] [BUG] [docs] Serializer cannot serialize decimal.Decimal"," - #12790 [component: tests] Complete unit tests for BokehJS mathematical array functions"," - #12814 [component: build] Check for existence of git tags early on in build process"," - #12909 [component: docs] dev guide has incorrect links to executables in the github"," - #12914 Disable miniconda-setup Post step on Windows"," - #12954 Prune latest docs properly "," - #13001 [component: docs] Carriage returns error on Windows systems. [BUG] "," - #13053 [FEATURE] Set `Cross-Origin-Resource-Policy: cross-origin`"," - #12939 [component: docs] add ref"," - #12963 [component: tests] Temporarily disable docker_from_wheel test in CI"," - #12973 [component: docs] Fix tiny error in doc code-block"," - #13003 [component: docs] Added metadata to line_on_off.py"," - #13009 [component: docs] Add dropdowns to contributor docs troubleshooting"," - #13026 [component: docs] Tile source metadata"," - #13035 Increase the number of iterations in CSS safe ID generator"," - #13054 [component: docs] Update In-kind sponsors list"," - #13065 [component: build] Allow `static/` symlinks in `BOKEHJS_ACTION=install pip install -e .`"," - #13084 [component: docs] Update first_steps_1.rst"," - #13103 Backports for 3.1.1","","2023-03-09 3.1:","--------------------"," * bugfixes:"," - #5829 [component: bokehjs] PolySelectTool area remains the same at all zoom levels"," - #6931 \"Slider\" widget: omitting a required argument does not produce error message"," - #8180 [component: bokehjs] HoverTool not working with RangeTool"," - #9047 [component: bokehjs] [BUG] Can't interact with multiple RangeTools"," - #9381 [component: bokehjs] [BUG] range_tool broken on inverted axes"," - #9752 [component: bokehjs] [BUG] Hover tool not working correctly for rotated rectangles"," - #10749 [component: bokehjs] [BUG] Plaintext copy-pasted from DataTable has a different order"," - #10769 [component: bokehjs] [BUG] Dates in DataTables appear as zero-epoch"," - #11830 [BUG] TypeError when customizing tools icon using PIL Image"," - #11955 [component: bokehjs] [BUG] Replacing filter of CDSView does not trigger update of DataTable"," - #11969 [component: bokehjs] [BUG] DataTable rendering behaves inconsistently for different indices of an IndexFilter"," - #11994 [BUG] Allow reset of DatePicker to empty date"," - #12315 [component: bokehjs] [BUG] ColumnDataSource does not work with NumPy floating-point scalars"," - #12331 [component: bokehjs] [FEATURE] enable linebreaks in legend labels"," - #12379 Figure out why `HexTile` with `pointytop` orientation and `aspect_scale=0.5` fails"," - #12410 [component: bokehjs] Hover tool can point to data outside of the frame"," - #12540 Handle Datetime values consistently in annotations"," - #12574 [component: docs] [BUG] `bokeh.core.json_encoder.serialize_json` doesn't work as shown in example"," - #12584 [component: bokehjs] [BUG] MultiChoice dropdown and autocomplete"," - #12592 [component: bokehjs] Rect hit testing on circles is overzealous, at least by the default"," - #12610 light_minimal theme is missing"," - #12614 [component: bokehjs] [BUG] sizing_mode='stretch_both' broken in gridplot (bokeh 3.0.2)"," - #12624 [BUG] bokeh v3 ColumnDataSource.selected.indices no longer works with ndarray"," - #12666 [BUG] Performance differences between v2 and v3"," - #12674 [component: docs] Ref guide autoclasstoc links are missing"," - #12678 [component: bokehjs] [BUG] tooltips disappear when range of image is reversed"," - #12700 [component: bokehjs] ReGL initialization is excessively and unnecessarily slow in tests"," - #12709 [component: bokehjs] [BUG] DatePicker kills layout"," - #12710 [component: docs] [BUG] CheckboxGroup minimal example in the documentation (Widgets and DOM elements 3.0.3) does not work properly"," - #12714 [component: bokehjs] [BUG] Updating DatePicker css_classes from callbacks not working"," - #12719 Type check errors due to updated `pandas-stubs`"," - #12730 [component: docs] [BUG] No such file: examples/plotting/marker_map.py"," - #12731 [component: bokehjs] [BUG] Possible regression: pinching not working with wheelzoomtool"," - #12735 [component: bokehjs] [BUG] hatching scales differently on different displays"," - #12756 [component: examples] Custom tooltip example mis-renders"," - #12757 [component: bokehjs] Custom extension examples do not work"," - #12767 [component: docs] [BUG] No module named 'bokeh.server.tests'"," - #12776 [component: bokehjs] [BUG] DataTable does not output true/false for numpy arrays"," - #12778 [component: bokehjs] `RangesUpdate` is not emitted for linked plots"," - #12783 [component: bokehjs] [BUG] HasProps does not record references for models declared inside Map objects"," - #12784 [component: bokehjs] [BUG] BokehJS interpolate doesn't handle length-1 arrays"," - #12788 [component: bokehjs] [BUG] Streaming broken when switching from Array to TypedArray"," - #12797 [component: bokehjs] There are dots in HTML class names"," - #12799 [BUG] Time to add glyph with legend label grows exponentially with number of existing glyphs"," - #12805 [BUG] Serialization of new models breaks with Document.hold()"," - #12838 [BUG] Cannot serialize pd.NA"," - #12839 [BUG] Cannot serialize pandas numeric arrays"," - #12846 [component: docs] Update Docs for GlyphRenderer"," - #12850 [component: docs] Missing title in docs for glyphs"," - #12857 [component: docs] [BUG] Example in \"Setting up a development environment\" doesn't exist anymore"," - #12863 [BUG] GridPlot sizing mode not respected"," - #12864 [BUG] GridPlot does not combine tools with different renderers"," - #12876 [component: bokehjs] Unnecessary scrollbars can toggle back and forth in layouts"," - #12880 [component: bokehjs] Editable `BoxAnnotation` doesn't respect symbolic coordinates"," - #12883 [component: bokehjs] css_classes example not working"," - #12885 [BUG] Pandas series encoding can fail with pyarrow dtypes"," - #12888 [component: bokehjs] Layout collapses when using `FullscreenTool` in Chromium"," - #12894 [component: server] [BUG] Server does not allow websocket connection on unix socket"," - #12917 [component: bokehjs] Candlestick chart broken"," - #12924 [component: docs] Thumbnails not being rendered in docs gallery"," - #12698 [component: docs] Fix typo."," - #12725 [component: bokehjs] Refactor `qbb()` and `cbb()` and fix usage of `cbb()`"," - #12754 [component: bokehjs] Update Tabler icon CSS URL"," - #12766 [component: bokehjs] Fix svg rotated ellipses"," - #12809 [component: bokehjs] Consider margins when using `100%` width with `max` policy"," - #12822 [component: tests] Resolve issues with headless Chromium 110"," - #12866 [component: bokehjs] Build bokehjs' examples in CI and fix errors"," - #12882 Fix alignment in `_templates/file.html`",""," * features:"," - #3412 Add support for persistent selection overlays"," - #3880 ncol and nrow in Legend object"," - #4272 Hook for callback upon document init"," - #8592 Allow models.Span.location to accept categorical values"," - #8926 [component: bokehjs] [FEATURE]Change date format of DatePicker"," - #9194 [component: bokehjs] [FEATURE] Add fill properties to slope"," - #11328 [component: bokehjs] [FEATURE] Add JS event on Websocket disconnect"," - #11348 [component: bokehjs] Add rounded corners for rect/quad glyphs"," - #12157 [component: bokehjs] [FEATURE] MultiChoice: allow flag for the options menu to be closed after an item is selected or not"," - #12507 [BUG] Sparse DataFrame can't be plotted without transformation to CDS"," - #12529 Add support for background, border, padding, etc. to `Text` glyph"," - #12692 [FEATURE] Add visual separation for legend items with multiline text"," - #12736 [FEATURE] Add method to construct a ColorBar"," - #12752 [FEATURE] Add transform.eqhist_cmap"," - #12772 [component: bokehjs] Add configurable option for invoking callback when pressing enter for TextInput"," - #12821 [BUG] Cannot plot `pandas.DataFrame` with columns of type string"," - #12356 Categorical colormapping of 3D arrays"," - #12688 Expose stylesheet model API publicly"," - #12749 [component: bokehjs] Implement varying_alpha_palette in BokehJS"," - #12789 [component: bokehjs] Add interp_palette function"," - #12823 Allow to clone `HasProps` instances",""," * tasks:"," - #6389 [component: tests] Test that bokehjs is npm-installable"," - #11653 [component: tests] Test for `MultiChoice` widget"," - #12590 Rename `select_every_mousemove` to `continuous`"," - #12598 [component: build] Raise min numpy to 1.16"," - #12609 [component: tests] Server tests use deprecated API"," - #12617 [component: build] [BUG] Runtime error of incorrect option name crashes webapp (Angular)"," - #12642 [component: docs] [FEATURE] Add ``text_outline_color`` to docs"," - #12647 [component: docs] [BUG] First steps 2 doc figures have low contrast"," - #12675 [component: docs] User guide section for CSS stying"," - #12684 [component: docs] Docs on load balancing with Apache can be improved"," - #12689 [BUG] numpy.bool8 is deprecated"," - #12711 [BUG] EncodingWarning in bokeh.resources and bokeh.themes.Theme(...)"," - #12716 Codecov not skipping sphinxext"," - #12734 [component: docs] [DOCS] rect glyph shouldn't be used on log axes"," - #12744 [component: docs] Built-in widgets docs page does not include DateSlider"," - #12760 [component: examples] Improve examples' color handling"," - #12768 [component: docs] Dev setup docs needs to ensure repo tags"," - #12769 Activate bugbear checks in ruff"," - #12793 [component: docs] Update docs for release"," - #12918 [component: docs] Gallery thumbnails for image examples need updating"," - #12919 [component: docs] Date picker gallery thumbnail broken"," - #12555 Forward ports for 3.0.1"," - #12621 Forward ports from 3.0.2"," - #12631 [component: build] Upgrade to TypeScript 4.9"," - #12676 [component: bokehjs] Remove legacy `CanvasRenderingContext2D` polyfills"," - #12685 [component: build] Add support for CSS modules to extensions' compiler"," - #12686 [component: docs] Promote note to warning in docs"," - #12694 [component: docs] Fix tooltip ug entry"," - #12705 Update copyright statements to 2023"," - #12715 [component: bokehjs] Remove legacy CSS styles"," - #12723 [component: build] Switch to isolated modules in TypeScript"," - #12732 [component: build] Switch to ES2022 tsc compilation target"," - #12741 Upgrade `actions/{checkout,cache,...}` to `v3`"," - #12743 [component: examples] Added metadata to examples"," - #12748 Fix a few typos"," - #12755 Update ruff / f-string cleanup"," - #12762 [component: bokehjs] Upgrade bokehjs dependencies and refresh `package-lock.json`"," - #12770 [component: docs] spelling mistake"," - #12792 `DatePicker` improvements and new types of pickers"," - #12795 [component: examples] 11765 metadata custom tooltips"," - #12810 [component: examples] Added metadata to hover.py"," - #12816 Reuse object traversal result when bundling"," - #12817 [component: bokehjs] Enable strict boolean expressions lint rule"," - #12828 Use ubuntu-latest and nodejs 18.x in CI"," - #12836 [component: bokehjs] Don't re-render when `css_classes` or `stylesheets` change"," - #12852 Resolve issues with testing on MacOS in CI"," - #12853 [component: bokehjs] Enable `switch-exhaustiveness-checks` lint rule"," - #12856 Upgrade to ruff 0.0.252"," - #12865 [component: build] Check for package-lock.json v3 in release scripts"," - #12871 [component: bokehjs] Make `publish = true` the default for `BokehEvent`"," - #12915 Warn about already known references, but don't fail","","2022-12-09 3.0.3:","--------------------"," * bugfixes:"," - #12583 [component: bokehjs] [BUG] Nested gridplot collapses figures"," - #12611 [BUG] `get_screenshot_as_png`"," - #12627 [BUG] sizing_mode=\"stretch_both\" fails since 3.0.0"," - #12633 [component: bokehjs] [BUG] Styles are not applied to model in Firefox"," - #12640 [component: bokehjs] [BUG] Embedded plot not sized correctly if not visible from the start"," - #12623 Ensure change callback manipulation is threadsafe",""," * tasks:"," - #12591 [component: tests] Many `CoverageWarning: Couldn't parse (...)` in unit tests"," - #12595 [component: docs] More neutral install instructions"," - #12607 output_notebook uses a deprecated API"," - #12608 models.util.structure uses deprecated API"," - #12641 [component: docs] Links to many examples are out of date"," - #12646 [FEATURE] Add a find_stack_level to deprecation.py"," - #12351 Updates to Docker image building and testing"," - #12547 [component: docs] Added metadata to glyphs.py, multi_legend.py, multi_scale.py"," - #12605 Replace flake8 with ruff"," - #12620 Remove LGTM"," - #12630 Update CodeQL action"," - #12636 Add CodeQL config"," - #12639 Disable docker from wheel integration tests"," - #12645 CodeQL: remove import linter hack"," - #12654 Resolve issues with code quality checks"," - #12659 [component: docs] Adapt Bokeh logo for dark theme and add docs badge in README.md"," - #12662 Backports for 3.0.3"," - #12663 Updates for 3.0.3","","2022-11-14 3.0.2:","--------------------"," * bugfixes:"," - #4930 interaction between tooltips and gridplots"," - #12429 [component: bokehjs] [BUG] Line selection does not render the unselected end line segments"," - #12531 [component: bokehjs] [BUG] latex in titles - upright characters that should be italic"," - #12551 [component: tests] bokehjs' unit tests fail on chromium 107"," - #12554 [component: docs] Custom.js needs update for switcher"," - #12578 [component: bokehjs] [BUG] gridplot reset button does not reset all figures"," - #12585 [component: bokehjs] [BUG] line_policy='none' for HoverTool does not generate any tooltip"," - #12587 [component: server] [BUG] Don't delete importlib.metadata in __init__.py"," - #12593 [BUG] Guard numpy.typing.ArrayType with `if TYPE_CHECKING`",""," * tasks:"," - #12557 [component: docs] Need automation for updating switcher.json"," - #12560 [FEATURE] remove mock"," - #12562 [BUG] Tests: \"python\" is not a guaranteed executable"," - #12566 [component: docs] Fix dates and typo in release docs for 3.0.0/3.0.1"," - #12569 [component: build] Add Python 3.11 to CI"," - #12571 [component: tests] Remove flaky from integration tests"," - #12573 [component: tests] Add a regression test for issue #4888"," - #12579 Upgrade to mypy 0.990"," - #12581 Disable Selenium integration tests for now"," - #12597 Backports for 3.0.2"," - #12600 Updates for 3.0.2","","2022-11-03 3.0.1:","--------------------"," * bugfixes:"," - #12537 [BUG] ImportError: cannot import name 'NotRequired' from 'typing_extensions'",""," * tasks:"," - #12528 [component: docs] Update tutorial link"," - #12533 [component: examples] [BUG] Units in blackbody example should be upright"," - #12525 [component: examples] Added metadata to bokeh\\examples\\plotting\\checkout_form.py"," - #12539 [component: build] Remove runtime dependency on typing_extensions"," - #12546 [component: examples] Apply blackbody example label edits (#12534) to the ts example as well","","2022-10-30 3.0:","--------------------"," * bugfixes:"," - #5046 Webgl problem in stream app with multiple glyphs"," - #6669 [component: bokehjs] BoxAnnotation does not appear to handle formal NumberSpec"," - #8168 [component: bokehjs] Strange behavior with BoxSelectTool when click+dragging on toolbar"," - #8332 [component: bokehjs] Autohide toolbar quirks"," - #8346 [component: bokehjs] update datasource cause error with webgl backend"," - #8469 Modifying a child element in a tab causes the whole tab to rerender"," - #8531 [component: bokehjs] Save tool in gridplot initiates multiple downloads"," - #8684 Allow at least partial alignment of fixed sized frames"," - #9113 [component: bokehjs] Empty group widgets don't size properly once populated"," - #9133 [BUG] Tabs ignore explicitly set dimensions"," - #9208 [component: bokehjs] [BUG] sizing_mode='stretch_width' makes plot too wide if scrollbar is showing"," - #9320 [BUG] Bokeh rendering performance"," - #9448 [component: bokehjs] [BUG] Google Fonts not loading on Glyph on standalone HTML until interacting with Glyph"," - #9744 [component: bokehjs] [BUG] bokeh server layout overlap on toggle visibility"," - #9763 [BUG] `gridplot` `merge_tools` removes distinct tools it thinks are repeated, e.g., `xpan` and `ypan`"," - #9764 [component: bokehjs] [BUG] MultiChoice placeholder text not displayed"," - #9992 [component: bokehjs] [BUG] Select widget hiding tabs, when selecting a plot"," - #10125 [component: bokehjs] [BUG] widgets overlap each other"," - #10183 [component: server] [BUG] Processing of HTTP request arguments (server_document) and num-procs \u003e 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 (-\u003e #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 \u003e=5,\u003c5.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 -\u003e 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 \u0026 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 \u003c 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 \u003e=6.1"," - #12024 [component: docs] [BUG] Clarify docs about necessity of Firefox"," - #12049 Typo in ValueError in L170 of serialization.py repo"," - #12087 [BUG] Abspath does not expand users home directory"," - #12152 [component: docs] Add Apache load balancer configuration to documentation"," - #12153 [component: bokehjs] Upgrade to TypeScript 4.7"," - #12168 [component: docs] Update docs for new Tooltip functionalities"," - #12178 Add Python compat deprecation for `FuncTickFormatter`"," - #12180 [component: docs] Demonstrate better practice in JS callback docs"," - #12203 [component: docs] Misc 3.0 docs issues"," - #12216 New PIL version broke tests"," - #12237 [component: docs] [BUG] output_file() documentation is not consistent"," - #12261 Add pandas as hard dependency"," - #12264 [component: docs] [FEATURE] Adding existing bokeh language bindings to the documentation"," - #12291 [BUG] DepricationWarning for latest Selenium 4.3.0 and webdriver.Firefox"," - #12332 Proposed changes for envs / scripts"," - #12340 [component: docs] Update docs for new src layout"," - #12402 [component: docs] Double tooltip on hovering over user guide periodic table example"," - #12415 [component: docs] [BUG] navigation section on gallery page is placed incorrect"," - #12511 [component: docs] [FEATURE] Outdated renderers helpstring"," - #11620 Execute 3.0 deprecations"," - #11621 Drop `render_mode` and split off HTML annotations"," - #11622 [component: tests] Don't report successful flaky tests"," - #11624 [component: bokehjs] Drop `@deprecated` functionality of bokehjs"," - #11636 [component: bokehjs] Correct MathText color, size and vertical alignment"," - #11659 [component: bokehjs] Fix and improve output from Printer.string()"," - #11660 [component: docs] Update docs for math text styling"," - #11665 Drop support for subtype from the protocol"," - #11669 Create SECURITY.md"," - #11671 [component: tests] Reorganize bokehjs' test assets and add \"sprint\" example"," - #11677 [component: bokehjs] Redesign text rendering in `Text` glyph"," - #11691 build BokehJS by default"," - #11692 [component: bokehjs] replace deprecated CLIEngine eslint class and add cache for faster linting"," - #11699 [component: bokehjs] Split up `api/plotting.ts` into `figure.ts` and `io.ts`"," - #11700 [component: tests] Add more bokehjs' examples under visual tests"," - #11706 [component: tests] Add streaming circle test for issue #5046"," - #11708 [component: tests] Implement MathText on TextAnnotations and organize MathText tests"," - #11709 [component: docs] Update contributor docs (part 2)"," - #11733 Add more modules to mypy"," - #11748 [component: build] Removed a manual file handler pitfall"," - #11763 [component: bokehjs] Remove invalid `null` and other conditionals"," - #11771 Include version pattern in workflow input description"," - #11773 Remove `CDSView.source` and infer the source from `CDSView`'s parent"," - #11774 [component: examples] 11765 basic plot example metadata"," - #11775 [component: docs] Add metadata to examples/models/file/daylight.py (#11765)"," - #11777 [component: bokehjs] Add support for unset properties to bokehjs"," - #11778 Docker dev image (#11352)"," - #11780 [component: tests] Update root `View`'s `ready` promise along its descendants"," - #11787 Bryanv/forward ports to 3.0"," - #11799 [component: build] add Python 3.10 to CI"," - #11809 [component: docs] metadata for examples/models/file/calendars.py added"," - #11812 [component: build] Remove automatic addition of `init_ModelName()`"," - #11813 [component: bokehjs] Clarify handling and internal types of partial messages"," - #11815 Add support for math text to slider widgets"," - #11816 [component: build] Reorganize bokehjs' dependencies using npm workspaces"," - #11831 2.4.2 forward ports"," - #11835 [component: build] Update baselines on MacOS"," - #11837 [component: tests] Update baselines on Windows"," - #11858 [component: examples] More LaTeX examples"," - #11859 [component: docs] Update docs for Slider, RangeSlider"," - #11861 update sliders baselines"," - #11869 [component: examples] Add final 2 LaTeX examples: Bessel functions and LaTeX labels"," - #11872 [component: examples] Added docstrings on app\\examples"," - #11874 [component: build] Update bokeh-release-build.yml"," - #11876 [component: examples] Added metadata to some examples and fixed one #11765"," - #11878 [component: examples] Port schrodinger example to bokehjs"," - #11902 [component: examples] Added metadata for examples/plotting/file/color_data_map.py and examples/plotting/file/grid.py"," - #11905 [component: examples] Add metadata to widgets.py"," - #11907 Fix type issues after upgrading to mypy 0.920"," - #11915 Redesign the layout using CSS and canvas layouts"," - #11919 [component: build] Require nodejs 16.* LTS for dev and testing"," - #11920 [component: build] Fail bokehjs' CI jobs if repository gets dirty"," - #11921 [component: tests] Test bokehjs' palettes and reduce their size"," - #11927 [component: bokehjs] Improve life cycle of `DataRange1d.plots`"," - #11931 [component: build] Drop official support for Python 3.7"," - #11939 Make `_may_have_unstable_defaults()` more robust"," - #11941 Replace `typing_extensions` with `typing` wherever possible"," - #11943 [component: tests] Don't rely on clicking a toolbar button for testing"," - #11949 [component: bokehjs] Replace manual text handling in `Legend` with `TextBox`"," - #11953 [component: tests] Update tests for Firefox 96"," - #11970 Deprecate CDSView.source more gracefully"," - #11982 [component: build] Upgrade bokehjs' npm packages"," - #12009 [component: docs] Add metadata to tile_source.py and fix various typos"," - #12011 [component: tests] Silence deprecation and other warnings in integration tests"," - #12027 [component: build] Upgrade TypeScript to version 4.6"," - #12028 [component: tests] Set up `asyncio_mode` to silence deprecation warnings"," - #12039 [component: server] Remove `use_buffers` from `PatchDoc` message"," - #12042 RenderRoot dataclass"," - #12044 [component: docs] 11765 add metadata to examples"," - #12056 [component: build] Upgrade bokehjs' dependencies"," - #12060 [component: docs] Update docs for HexTile"," - #12063 [component: docs] Clean up sample data attribution"," - #12064 [component: bokehjs] WebGL support for Block glyph"," - #12076 [component: bokehjs] Initialize properties in definition order"," - #12100 Fix Comparing singleton primitives with equality checking"," - #12102 Minor cleanup issues"," - #12116 [component: docs] Update WebGL docs"," - #12128 Adding metadata to examples/models/file/buttons.py #11765"," - #12147 New vars and cleanup for hover tooltips"," - #12161 [component: bokehjs] WebGL step glyph"," - #12173 [component: bokehjs] Minor bokehjs' codebase cleanup"," - #12188 [component: bokehjs] Toggle opacity not visibility of descriptions"," - #12200 [component: docs] Update for latest Sphinx and pydata theme"," - #12206 [component: docs] Minor 3.0 docs updates"," - #12209 [component: docs] Replace panels and tabs extensions"," - #12211 [component: docs] Alt-text Sprint PR"," - #12224 [component: docs] Update docs CSS"," - #12229 [component: docs] Fix intersphinx doc reference"," - #12233 Revert field_name rename"," - #12241 [component: docs] Update wording for output_file()"," - #12242 [component: docs] Update docs for tooltip PR"," - #12245 [component: docs] Added definition for LOD (Level-of-Detail)"," - #12246 Rename `NonNullable` to `Required`"," - #12247 Update bokehjs' dependencies"," - #12249 [component: examples] add SRI hash for vis.js"," - #12252 Normalize built-in types and remove `Unknown`"," - #12257 [component: tests] Upgrade bokehjs in examples and tests"," - #12260 [component: docs] Add random filename description"," - #12269 [component: bokehjs] Move normal random generator from `np` to `Random`"," - #12274 Drop `serialized=False/readonly=True` for `NotSerialized/Readonly`"," - #12284 [component: docs] Contouring docs"," - #12286 [component: docs] Save CI docs as artifact"," - #12290 Update codeql-analysis.yml"," - #12293 Add post install status to bokeh-release-build"," - #12294 [component: tests] Cleanup / condense project configs"," - #12298 [component: docs] Grammatical fixes and improvisations"," - #12302 [component: bokehjs] BokehJS maths improvements"," - #12304 [component: build] Add `py.typed` marker file for mypy"," - #12305 [component: docs] Remove double colons from field lists"," - #12306 [component: tests] Streamline / modernize build system"," - #12307 Preserve original line endings in code quality tests"," - #12311 Move test utils out of tree"," - #12317 [component: build] More CI work (part 1)"," - #12318 [component: docs] Update dev setup docs"," - #12319 [component: build] More CI work (part 2)"," - #12320 [component: build] More CI work (part 3)"," - #12321 [component: build] More CI work (part 4)"," - #12324 [component: build] More CI work (part 5)"," - #12326 [component: docs] clean up MANIFEST.in"," - #12336 [component: tests] Test out codecov action"," - #12337 Add package validation helper"," - #12339 [component: docs] consolidate docs directory"," - #12341 Move typings under src"," - #12342 [component: build] Use proper setuptools command extensions"," - #12347 [component: build] Add package verify to release automation"," - #12349 [component: build] Align CI/release build more closely"," - #12352 Codecov config experiments"," - #12353 Hide top level import"," - #12358 Flatten examples dirs"," - #12364 [component: docs] Remove extraneous paragraph"," - #12368 Consolidate gitignores"," - #12371 [component: build] Upgrade bokehjs' dependencies"," - #12372 Consider undeprecating *on_click helpers"," - #12373 [component: tests] make precommit config more fine-grained"," - #12381 Use wheel for testing"," - #12383 [component: bokehjs] Clean up naming, deprecations, legacy APIs, etc."," - #12387 Remove `bokeh.server.django`"," - #12388 [component: tests] Include `CartesianFrame` in baseline files"," - #12389 Update README.md"," - #12394 [component: bokehjs] Use more robust CSS length parsing in MathText"," - #12395 [component: docs] Add metadata to trefoil example"," - #12403 [component: docs] Pin pydata sphinx theme version"," - #12407 [component: tests] Robustify workflow around testing defaults"," - #12419 [component: docs] Rearrange examples and users guide"," - #12424 Upgrade to mypy 0.981"," - #12431 [component: docs] Grammar changes to the docs"," - #12433 [component: docs] Restructure User's Guide (Part 1)"," - #12434 Split up `bokeh.models.renderers` and move `contour_renderer`"," - #12435 [component: tests] Include only own and overriden defaults in defaults.yaml"," - #12436 Change type of `Model.subscribed_events` to `Set(String)`"," - #12437 [component: docs] Update 3.0.0 change log"," - #12440 [component: docs] Restructure User Guide (Part 2)"," - #12441 Add 'p' prefix to simple IDs in Python"," - #12446 [component: docs] Update gallery thumbnails"," - #12454 [component: docs] More gallery / user guide improvements"," - #12458 [component: docs] Improve the gallery grid"," - #12463 Update theme.yaml"," - #12472 [component: docs] Make Styling a top-level section"," - #12474 [component: docs] add missing ports and notes"," - #12477 [component: docs] Fix up some sphinx paths"," - #12478 [component: docs] Add a batch of new gallery items"," - #12485 [component: docs] Misc docs/examples for 3.0"," - #12488 fix win sampledata test"," - #12491 [component: docs] Misc examples cleanup (part 1)"," - #12492 [component: docs] Update styling docs"," - #12495 [component: docs] Misc QoL improvements for examples"," - #12497 [component: docs] Move migration guide to Wiki"," - #12499 [component: docs] Add two missing words to data.rst"," - #12500 [component: docs] Add more examples to gallery"," - #12501 [component: docs] Fix some typos"," - #12502 [component: docs] More examples updates"," - #12505 Don't allow `Model(id=\"some\", **properties)`"," - #12508 [component: tests] Migrate defaults' baseline from yaml to json5"," - #12513 [component: bokehjs] Resolve deprecations in bokehjs' CI workflow"," - #12515 Rename `SettingsTool` to `InspectorTool`"," - #12517 [component: bokehjs] Allow scroll in inspector's model/property panels"," - #12518 [component: docs] Fix typos"," - #12519 [component: docs] Move intro paragraph"," - #12522 [component: bokehjs] Rename `InspectorTool` to `ExamineTool`"," - #12524 [component: docs] Some final docs updates","","2022-05-18 2.4.3:","--------------------"," * bugfixes:"," - #7390 [component: bokehjs] Tap events respond outside plot area"," - #11744 [component: docs] BokehJS example in docs is broken"," - #11832 [component: bokehjs] [BUG] Zoom-in failing with the `xzoom_in` tool"," - #11965 [component: bokehjs] [BUG] Table formatting causes layout crash/collapse"," - #11987 [component: docs] Docs: extra whitespace on non-sidebar pages"," - #11995 [component: docs] [Docs] his must be replaced by This"," - #12058 [BUG] webgl backend results in dashed lines"," - #12070 [component: bokehjs] [BUG] Wedge/AnnularWedge hit testing cuts off top/bottom"," - #12096 Missing `f` prefix on f-strings"," - #11819 [component: bokehjs] Correctly handle odd-length dash patterns in WebGL"," - #11829 [component: bokehjs] Fix webgl line NaN handling"," - #12051 [component: docs] Fixed typo: s/server/serve/"," - #12106 Fix typo in git.py",""," * features:"," - #9182 [component: bokehjs] Add hover tooltip support for Patch, HArea, and VArea"," - #10525 [component: bokehjs] [Feature] Support full text search for MultiChoice and auto complete input"," - #11840 [component: bokehjs] Support multiple marker types in WebGL scatter"," - #12034 Add DatetimeRangeSlider"," - #12121 Support rescale_discrete_levels in EqHistColorMapper",""," * tasks:"," - #8851 [component: docs] [BUG] components() does not return dict with wrap_plot_info=False"," - #11707 [component: bokehjs] Avoid expensive over-computing \"all models\" on Document init"," - #11716 [component: docs] [BUG] Docs still mention @gen.coroutine"," - #11726 [component: docs] [BUG] Update links in example app surface3d to point to new location on visjs.org"," - #11757 [component: docs] [FEATURE] Elaborate on branch creation and git commits in docs"," - #11811 Remove unnecessary whitespace from rendered templates"," - #11868 [component: examples] Examples README.md files needs checking and updating"," - #11870 [component: docs] Remove katex example, test and docs"," - #11875 [component: build] Make release build more robust to commit files"," - #11956 [component: docs] Use CONTRIBUTING.md to point to developers guide"," - #11977 [BUG] missing functools.wraps makes debugging unawaited _needs_document_lock_wrapper methods difficult"," - #12093 [BUG] Flake8 pre-push test failure"," - #12112 Use channel instead of explicit version for GMap API?"," - #11698 [component: docs] Fixed some typos and changed wording for better tone"," - #11814 Fix webgl dashed line joins with butt end caps"," - #11823 [component: tests] Force webgl backend when requested for testing"," - #11833 simplify CI jobs with composite action"," - #11849 [component: bokehjs] Remove temporary WebGL circle fix"," - #11867 [component: build] Pin to django 3.x"," - #11906 [component: tests] Drop baseline testing on MacOS and Windows"," - #11922 Update copyright statements to 2022"," - #11935 Fix typo in tools.py"," - #11971 [component: build] Fix new typings failures"," - #11993 [component: docs] Add sphinx_copybutton"," - #12040 [component: bokehjs] Unify WebGL markers and rects"," - #12046 [component: bokehjs] WebGL typescript refactor and add quad glyph"," - #12055 [component: bokehjs] Implement WebGL marker line joins"," - #12061 [component: bokehjs] WebGL support for HBar VBar and HexTile glyphs"," - #12084 [component: bokehjs] Simplify EqHistColorMapper calculations"," - #12120 [component: bokehjs] WebGL line refactor"," - #12126 3.0 -\u003e 2.4.3 backports"," - #12130 More 2.4.3 backports"," - #12131 Yet more 2.4.3 backports","","2021-11-22 2.4.2:","--------------------"," * bugfixes:"," - #11422 [component: bokehjs] [BUG] `DeserializationError` when trying to change a `DataTable`'s columns with `CustomJS`"," - #11800 [BUG] DeserializationError when plotting graphs"," - #11801 [component: bokehjs] [BUG] Log axis figures don't render if they're not visible at start"," - #11807 [component: bokehjs] Work around issues with initialization-time change discovery"," - #11808 Don't unnecessarily update node/edge renderers in graphs",""," * tasks:"," - #11613 [component: docs] Cache-bust custom.css for docs"," - #11791 [component: docs] Update issue template to use new GH forms"," - #11761 [component: docs] Clarify use of color in first steps guide"," - #11762 [component: docs] Replace slash with backslash for PS commands"," - #11767 [component: bokehjs] Upgrade jquery-ui to resolve security concerns"," - #11781 [component: examples] fix transform jitter example"," - #11786 bokeh 2.4.2 backports"," - #11790 [component: build] Bryanv/pin sphinx 42"," - #11797 Add OS to bokeh info"," - #11805 More 3.0 -\u003e 2.4.2 backports"," - #11810 [component: docs] Update docs for new issue forms"," - #11824 Updates for release","","2021-10-13 2.4.1:","--------------------"," * bugfixes:"," - #11119 [component: bokehjs] [BUG] varea_stack() and vline_stack() fails to update correctly when new source data is different length"," - #11625 [component: tests] [BUG] Codebase test failures in Windows"," - #11627 [BUG] mypy tests fail in Windows"," - #11629 [BUG] Hover tool takes long time to render"," - #11633 [component: bokehjs] [BUG] RangesUpdate not emitted when using xwheel_pan"," - #11645 [component: bokehjs] [BUG] `bokeh init` creates a `package.json` which refers to the deprecated Bokeh JS node package"," - #11646 [component: bokehjs] [BUG] Using band_hatch_pattern with images doesn't work"," - #11661 [component: bokehjs] [BUG] Issue with line rendering when selecting indices"," - #11670 [component: bokehjs] [BUG] Duplicate change events for autocomplete_input"," - #11679 [BUG] Parallel Plot example with output_backend=\"webgl\" not working"," - #11713 [component: docs] Documentation builds are failing in CI"," - #11644 [component: bokehjs] Actually fix clipping in SVG `\u003ctext\u003e` nodes",""," * tasks:"," - #11617 [component: docs] Update Team link in footer"," - #11658 [component: build] Support \"pip install\" from sdist"," - #11618 [component: tests] Reduce Tornado imports"," - #11628 [component: docs] Correct path in dev guide server instructions"," - #11652 [component: build] Update bokehjs' dependencies"," - #11668 [component: docs] Add information about mathjax bundle"," - #11681 [NO SQUASH] Batch of 3.0 -\u003e 2.4 backports"," - #11712 [component: tests] Upgrade baselines to Chrome 94"," - #11722 [component: tests] Update visual baselines on MacOS"," - #11724 [NO SQUASH] More 3.0 -\u003e 2.4 backports"," - #11738 [component: docs] Add release notes for Bokeh 2.4.1","","2021-09-15 2.4:","--------------------"," * bugfixes:"," - #7217 [component: bokehjs] Including both log and linear axis types not working"," - #10756 [component: bokehjs] [BUG] Jitter caching too aggressively"," - #10806 Date validation is too lax"," - #10876 [component: bokehjs] [BUG] 'dashed' line style not working properly when using webgl"," - #10898 [component: bokehjs] [BUG] Tabs widget disabled property has no effect"," - #10927 [component: docs] Inconsistent information about ``_units`` property in reference guide"," - #11016 [component: bokehjs] [BUG] Figure name passed to `renderer.glyph.name` but not `renderer.name`"," - #11025 [component: bokehjs] Line and MultiLine produce inconsistent data bbox with trailing NaNs"," - #11035 [component: bokehjs] [BUG] `Bokeh.Widgets` objects missing `tools`, required by `Bokeh.Plotting.gridplot()`"," - #11037 [component: bokehjs] [BUG] Using `sizing_mode` in gridplot layouts requires explicit assignment"," - #11038 [component: bokehjs] [BUG] Calling `figure({title:\"some title\"})` replaces Title object with string, prevents subsequent updates to title text"," - #11045 [component: bokehjs] Hatch patterns are lost with SVG backend after interaction"," - #11058 [component: bokehjs] [BUG] SVG backend does not support line dash offset"," - #11071 [component: examples] [BUG] Use of np.int is deprecated in numpy 1.20"," - #11139 [BUG] Image.transform does not handle data:image/PNG;base64 string images"," - #11149 [component: bokehjs] [BUG] Inconsistent hatch rotation"," - #11154 [BUG] Non-selected hatching not grayed out"," - #11162 [component: bokehjs] [BUG] Do not make room for invisible tick labels"," - #11178 [component: examples] Broken example: Olympic Sprinters"," - #11197 [component: tests] [BUG] Correct missleading classname in BokehJS unit Test for LogTickFormatter"," - #11216 [BUG] Toolbar properties non-nullable"," - #11217 [BUG] WebGL regressions when setting alpha as an iterable"," - #11276 [component: bokehjs] [BUG] FileInput filename not returning the filenames after upgrading to v2.3.2"," - #11288 [component: bokehjs] [BUG] WebGL non-circle markers revert to canvas when selected"," - #11319 [component: tests] examples' tests fail in CI"," - #11367 [component: bokehjs] [BUG] Ellipse glyph does not render properly in figure legend"," - #11374 [component: bokehjs] [BUG] RadioButtonGroup orientation doesn't have expected effect"," - #11378 [component: bokehjs] [BUG] multi_line with logScale"," - #11402 [component: bokehjs] [BUG] `SVGRenderingContext2D.arc()` differs from Canvas specification, it breaks if used without calling `beginPath()` beforehand"," - #11413 [component: bokehjs] Changing tile provider does not remove attribution"," - #11437 [component: bokehjs] [BUG] HoverTool ignores IndexFilter in CDSView"," - #11444 [component: tests] [BUG] license-related codebase tests on Win10 fail"," - #11446 [component: bokehjs] [BUG] Hover glyphs permanently rendered with vline/hline mode in 2.4.0dev"," - #11457 [component: tests] `MathText` integration tests are not robust"," - #11460 [component: tests] Bokeh-CI unit export tests failing"," - #11474 [component: bokehjs] [BUG] graph_renderer.layout_provider changes via JS code are not displayed on plots"," - #11477 [component: server] [BUG] Increasing memory consumption of bokeh server (part 2)"," - #11479 [component: bokehjs] [BUG] MathText axis labels do not all render in multi-figure layouts"," - #11487 [component: tests] `OpenURL`'s unit tests open popup windows"," - #11508 [component: bokehjs] [BUG] Log auto-scaling not showing all data"," - #11520 [BUG] The update() method is not equivalent to changing widget properties directly"," - #11551 [component: bokehjs] `SVGRenderingContext2D.drawImage()` doesn't respect clipping region"," - #11579 [BUG] Inconsistent handling of Title Text attributes"," - #11587 [component: bokehjs] Clip region is not applied to text in SVG backend"," - #11609 [component: examples] [BUG] Surface3d example is broken"," - #11610 [component: examples] [BUG] Server embed notebook issue"," - #11297 [component: bokehjs] Correctly initialize WebGL non-base marker/scatter glyphs"," - #11370 [component: bokehjs] Handle corner cases in LinearLinterpolationScale.v_compute()"," - #11536 [component: bokehjs] Reassign value on numeric_input high-low change only if needed"," - #11568 Fixing typo error 2"," - #11573 [component: server] Add version as request argument to extension to avoid browser caching"," - #11577 [component: docs] Better formatting for args lists in docstrings"," - #11600 Fix regexes for finding tex delimiter",""," * features:"," - #657 Add support for plots in polar coordinates"," - #7317 [component: bokehjs] Add support for line breaks in Label"," - #9261 [component: bokehjs] [FEATURE]Make LegendItems Hideable"," - #10733 BOKEH_STRICT does not raise validation errors"," - #11007 [FEATURE] Add a min_exponent to only show axis labels as exponents for number higher than this exponent"," - #11095 [component: bokehjs] [FEATURE] Add consolidated RangeUpdate event"," - #11120 [component: bokehjs] [FEATURE]Add \"maintain_focus\" property to ZoomOutTool"," - #11266 [component: bokehjs] [FEATURE] Include toolbar in tab order"," - #11381 [component: docs] [FEATURE] bokeh-plot should parse ReST docstrings in example"," - #11423 [component: bokehjs] [FEATURE] `visible` property for `TableColumns`"," - #11548 [FEATURE] Make `global_alpha` of `ImageRGBA` an `AlphaSpec`"," - #11565 [component: server] URL printed in server startup log always assumes http protocol"," - #11098 [component: bokehjs] Implement all Webgl marker types"," - #11099 [component: tests] Allow to test against a provided git reference"," - #11128 [component: bokehjs] Latex on axis labels"," - #11159 [component: bokehjs] WebGL rect glyph with hatch pattern"," - #11165 Add support for embedding plots/layouts in tooltips"," - #11195 [component: tests] Collect performance metrics during integration tests"," - #11214 [component: bokehjs] Add support for toolbar's overflow menu"," - #11343 [component: bokehjs] WebGL markers and rects reuse arrays and buffers"," - #11420 [component: bokehjs] add latex capabilities to tick labels"," - #11466 add python conveniences to mathtext"," - #11511 Support xyzservices.TileProvider as an input of get_provider"," - #11533 Add support for alternative math text input notations"," - #11585 TeX on Markup widgets Div, Paragraph",""," * tasks:"," - #8390 [component: bokehjs] Define a default muted glyph"," - #9329 [component: docs] Document bokeh.sampledata"," - #9671 [component: server] [FEATURE] Enable the Server to serve apps at sub urls like /gallery/image-classifier"," - #9961 [component: docs] Ref Docs need sidebar TOC"," - #10137 [component: docs] [BUG] Anchors in docs can be jumpy"," - #10287 Update to isort 5.7"," - #10391 [component: tests] Test legacy bundles before release"," - #10572 [component: build] [FEATURE] Bokeh Python Wheel packages"," - #10685 [component: docs] Move Bokeh docs to the latest version of pydata-sphinx-theme"," - #10796 [component: docs] Add default browser env var to docs"," - #10839 Drop Python 3.6"," - #10867 Simplify HasProps and MetaHasProps"," - #10877 Remove SRI integrity checks from js_resources.html template"," - #10932 Bring up branch-2.4"," - #10946 [component: docs] Automate python min-version and requirements in docs"," - #10950 Simplify HasProps and MetaHasProps (part 2)"," - #10980 [component: docs] Replace plot_width and plot_height with width and height"," - #11034 [component: bokehjs] [BUG] Palettes not accessible by name for `ColorMapper` objects in BokehJS"," - #11053 [component: build] Separate javascript bundle for WebGL"," - #11135 [component: docs] Fix collapsible code blocks"," - #11138 [BUG] Time for updating one column in a CDS depends on the total number of columns"," - #11142 [component: tests] Codebase test to validate versions.json"," - #11146 [component: bokehjs] json_items should report bokeh version"," - #11147 [component: docs] [BUG] Footer in 2.4 docs broken"," - #11166 Allow `pathlib.Path` wherever raw string paths are supported"," - #11184 Add width and height properties to gridplot()"," - #11211 [component: tests] [BUG] Conflicting test dependencies in downstream CI build"," - #11215 [component: docs] [BUG] Links to Line Properties gives 404 in user guide"," - #11221 [BUG] Use dataclasses for check validation"," - #11255 [component: build] Build deploy action also needs to check the branch"," - #11267 [component: docs] Update extension examples to import from top-level models"," - #11282 Document conda init in Getting Set Up"," - #11298 [component: build] [BUG] Release build env missing dependencies"," - #11301 [component: server] [BUG] Bokeh websocket connection creates large Sec-WebSocket-Protocol header"," - #11354 [component: docs] Update developer docs"," - #11392 address code issues flagged by lgtm"," - #11404 [component: bokehjs] Add `ellipse()` method to `SVGRenderingContext2D`"," - #11415 pandas future warning for commits.py"," - #11428 [component: docs] Reorganize bokeh.plotting in ref guide"," - #11483 Revert kwarg-only args for Theme"," - #11489 [component: docs] [FEATURE] Enhanced docstrings for gallery entries"," - #11505 Fix Bokeh version in CI Build step"," - #11515 [component: docs] Remove Wikimedia tile provider"," - #11574 [component: tests] Restore original values when manipulating `os.environ` in tests"," - #10861 Redesign WebGL backend using ReGL"," - #10930 Replace JS var with let/const across the codebase"," - #10961 [component: bokehjs] Upgrade to TS 4.2 and upgrade other dependencies"," - #10972 replaced old-style string substitution"," - #10979 [component: tests] Add dask/dask to downstream tests"," - #10987 Bryanv/2 3 1 forwardports"," - #11004 [component: build] Add support for incremental TypeScript builds"," - #11019 [component: tests] Improve speed by comparing whole buffers first"," - #11067 [component: docs] add latex extension example with mathjax"," - #11070 [component: bokehjs] Use premultiplied alpha in WebGL"," - #11072 [NO SQUASH] Forward ports to branch-2.4"," - #11073 [component: bokehjs] Drop unnecessary -webkit- prefixes from flexbox"," - #11078 Fix regressions after PR #10930"," - #11090 [component: bokehjs] Simplify rendering code with visuals.apply()"," - #11092 HasProps and misc cleanup"," - #11108 [component: bokehjs] Fix WebGL line regression"," - #11115 [NO SQUASH] Forward ports to branch-2.4"," - #11117 [component: docs] Fix python3 incompatible print in callback docs"," - #11134 [NO SQUASH] more ports from branch-2.3"," - #11140 [component: build] Remove all cyclic dependencies from bokehjs"," - #11145 [component: docs] More ref guide improvements"," - #11183 [component: tests] Additional visual tests for Legend annotation"," - #11187 [component: docs] Expand rst_epilog"," - #11189 [component: tests] Update baselines for Chromium 90"," - #11207 [component: tests] Include Dask testing dependencies in downstream CI"," - #11210 [NO SQUASH] remove black codebase check (#11208)"," - #11219 Use dataclasses in bokeh.io.state"," - #11220 Add support for lazy annotations boilerplate"," - #11224 Full typescript for WebGL code"," - #11225 Improve static typing in `bokeh.command`"," - #11237 [NO SQUASH] 2.3.2 forward ports"," - #11238 [component: bokehjs] Update to TS 4.3-dev and enable `noImplicitOverride`"," - #11246 [component: build] Update bokehjs' dependencies"," - #11252 [component: bokehjs] Fix webgl line alpha issues"," - #11262 [component: bokehjs] Move WebGLRenderingContext use to ReGL"," - #11272 [component: build] Upgrade TypeScript to 4.3-rc"," - #11277 [component: bokehjs] WebGL line glyphs reuse arrays and buffers"," - #11283 [component: bokehjs] Normalize string syntax across bokehjs"," - #11286 [component: docs] docs: fix code snippet in Label"," - #11289 [component: bokehjs] Allow `div(element)` instead of `div({}, element)`"," - #11290 Statically type various parts of bokeh"," - #11304 [component: docs] Update docs for BokehJS visual testing"," - #11314 [component: build] Upgrade to TS 4.3 and refresh package lock files"," - #11322 [component: docs] Add 'experimental' note to extensions chapter"," - #11325 Fix typo in AuthProvider._validate error message. login_url instead of logout_url"," - #11327 Fill-in missing `__future__` imports for lazy annotations"," - #11329 Bump pillow from 8.1.1 to 8.2.0 in /docker-tools/debian"," - #11330 Statically type more of bokeh"," - #11332 Add return type annotation to `__init__`"," - #11337 Add tests for SVG exports"," - #11341 Statically type the return of `json_item()`"," - #11342 [component: build] Refresh `bokehjs/package-lock.json`"," - #11398 [component: docs] Add intro for categorical chapter"," - #11399 [component: tests] Increase session_token_expiration (test)"," - #11409 Bring up 2.3.x changes"," - #11417 Consolidate pip dependencies"," - #11419 Remove OrderedDict"," - #11443 [component: docs] Update wording around output_file()"," - #11454 Fix spec.py and cleanup scripts cruft"," - #11458 [component: tests] Iurypiva/testing svg draw image"," - #11459 [component: examples] Update file_input.py"," - #11463 Skip svg export test"," - #11465 [component: bokehjs] Simplify the SVG backend"," - #11467 [component: docs] Update to Sphinx 4.1"," - #11473 Remove test and extra sections from meta.yaml"," - #11482 Document Refs Cleanup (part 1)"," - #11485 Add panel to downstream tests"," - #11492 Document Refs Cleanup (part 2)"," - #11494 [component: bokehjs] Update bokehjs' bundle sizes and dependencies"," - #11495 [component: bokehjs] Properly test deferred rendering of `MathText` objects"," - #11497 Document Refs Cleanup (part 3)"," - #11499 Document Refs Cleanup (part 4)"," - #11502 Quick fix for CI version check issue"," - #11503 [component: build] Upgrade to TypeScript 4.4 RC"," - #11509 Update resources for pep440 dev versions"," - #11518 More modules under mypy"," - #11525 [component: build] Add bokehjs' mathjax bundle"," - #11532 [component: server] Allow extensions to modify applications in serve subcommand"," - #11534 [component: build] Upgrade TypeScript to version 4.4"," - #11535 Small Document fixes"," - #11544 [component: docs] Update docs for math notations (LaTeX and MathML)"," - #11559 [component: docs] Misc docs build changes"," - #11566 [component: build] Update baselines for Chrome 93"," - #11570 [component: examples] Add LaTeX axes examples"," - #11581 [component: docs] Fix typos, line breaks, and links"," - #11583 [component: examples] Add penguin dataset and example"," - #11584 [component: bokehjs] Mathstring conveniences for axis_labels and tick labels"," - #11586 [component: bokehjs] Add support for `legend_{label,field,group}` to bokehjs' `Figure`"," - #11590 [component: docs] udpate release notes"," - #11595 [component: bokehjs] Require space before blocks"," - #11597 Misc MyPy work"," - #11599 [component: docs] More 2.4 last minute docs"," - #11604 [component: docs] Add and update examples","","2021-07-07 2.3.3:","--------------------"," * bugfixes:"," - #11083 [component: bokehjs] [BUG] column ignores css class scrollable from version 2.3.0"," - #11110 [component: bokehjs] [BUG] Bad formatting of y axis labels with theme different from standard"," - #11161 [component: bokehjs] [BUG] Div model layout differences between bokeh 2.2.3 and 2.3.1"," - #11188 [component: bokehjs] [BUG] Layout regression in panel introduced by PR #11123"," - #11284 [component: bokehjs] Active tab should be in view on render"," - #11344 [component: bokehjs] [BUG] plot's height can not go below 600px with sizing_mode = 'stretch_both'"," - #11365 [component: bokehjs] [BUG] dropdown menu is hidden in multi choice, others are not"," - #11380 [component: bokehjs] [BUG] Extensions with package.json should fetch exact version from CDN"," - #11384 [component: server] [BUG] app_index.html is missing quotes in href attribute",""," * tasks:"," - #11242 [component: docs] Simplify instructions for GOOGLE_API_KEY"," - #11377 Backport changes from 2.4 to 2.3.3"," - #11406 [component: docs] Bryanv/2 3 3 release notes","","2021-05-10 2.3.2:","--------------------"," * bugfixes:"," - #11169 [component: bokehjs] [BUG] Python callback triggered by SelectionGeometry event is slow compared to js equivalent"," - #11182 [component: bokehjs] [BUG] Forward slash is changed to %2F in link"," - #11203 [component: bokehjs] [BUG] Cannot clear active of RadiGroup",""," * tasks:"," - #9636 Remove Black Formatting"," - #11175 Replace jinja2.Markup deprecated with Jinja 3.1","","2021-04-07 2.3.1:","--------------------"," * bugfixes:"," - #10822 `DataModel` is always serialized"," - #10887 [component: bokehjs] [BUG] FileInput cancel operation throws error"," - #10912 [component: bokehjs] [BUG] 'freehand_draw' is not in name space for tools"," - #10942 [component: examples] [BUG] Spectrogram example does not compile"," - #11000 [component: bokehjs] Make `FuncTickFormatter` always produce strings"," - #11006 [component: bokehjs] [BUG] Log axis exponents react differently when font size is defined in anything but px (e.g. pt)"," - #11026 [component: bokehjs] [BUG] Serialization of MessageSent document event includes all model references"," - #11028 [component: bokehjs] [BUG] Figure events raise errors in the presence of edit tools"," - #11029 [component: bokehjs] [BUG] DataModel warns about being registered multiple times"," - #11054 [component: bokehjs] [BUG] Invalid BBox of BoxSelection"," - #11057 [component: bokehjs] [BUG] Sizing mode example layout broken in docs"," - #11061 [component: bokehjs] [BUG] Tilerenderer snap_back path issue with setv"," - #11062 [component: bokehjs] [Bug] ColorPicker color not updated on selection",""," * features:"," - #10569 [FEATURE] JupyterLab 3 dynamic extension loading",""," * tasks:"," - #10888 [component: docs] [BUG] FileInput accept-type '.txt' file-extension filtering does not work as expected"," - #10897 [component: docs] Docs: remove reference of outdated 'nbserverproxy'"," - #10919 [component: docs] [BUG] Deprecate broken HSL objects"," - #10926 [component: docs] [BUG] BokehJS component default value not passing through"," - #10934 [component: docs] bokeh_releases needs to process files more carefully"," - #10941 Minor cleanup after PR #10939"," - #10943 [component: build] [BUG] Cloudfront invalidation error on full release"," - #10957 [component: build] Update versioneer version?"," - #11002 [component: docs] PolyAnnotation is missing from the user guide"," - #11013 [component: bokehjs] [FEATURE] BokehJS usage : documentation updates"," - #11097 [component: docs] Document new JLab install process"," - #11112 [component: build] Update build jobs for base OS update"," - #10953 [component: docs] Add information about Bokeh channel for installation"," - #10973 Add missing comma in example code"," - #10986 Bryanv/2 3 1 backports"," - #10997 [component: docs] Clarify explanation in First Steps 1"," - #11024 [component: bokehjs] Simplify rendering of Line and MultiLine glyphs"," - #11043 Backport: Simplify rendering of Line and MultiLine glyphs (#11024)"," - #11086 Fixed missing f in f-string"," - #11137 [component: docs] Release notes for 2.3.1","","2021-02-24 2.3:","--------------------"," * bugfixes:"," - #1426 Mixins have vectorized properties which doesn't make sense outside glyphs"," - #6781 HoverTool.renderers accept List(Renderer) but supports only List(GlyphRenderer)"," - #8489 [component: bokehjs] Graphical bugs with webgl and time series data with NaN points"," - #9951 [BUG] Impossible to use tuples as colors"," - #10136 [component: bokehjs] Arrows - 'white background' under the arrow"," - #10218 [component: server] [BUG] Periodic callback don't stop in Django"," - #10339 [component: tests] examples' tests fail because headless browser doesn't start in time"," - #10407 [component: bokehjs] [BUG] Select is not updated upon setting value after changing the options"," - #10411 [component: examples] [BUG] issues with latex_example_full"," - #10452 [component: bokehjs] [BUG] MultiChoice disabled attribute is not working"," - #10454 [component: bokehjs] LabelSet does not display with categorical coordinates"," - #10457 [component: bokehjs] [BUG]Reverse Y axis range with circle"," - #10458 [component: bokehjs] [BUG]multi_line doesn't support hover."," - #10468 [component: bokehjs] [BUG] `DateSlider` and `DateRangeSlider` ignore `format` set to an instance of `TickFormatter`"," - #10481 [component: bokehjs] [BUG] Unable to use CustomJS callback on HoverTool with GraphRenderer"," - #10484 [component: docs] Typo in https://docs.bokeh.org/en/latest/docs/user_guide/embed.html#autoload-scripts"," - #10498 [component: bokehjs] [BUG] GridBox not rebuilt when changing cols or rows attributes"," - #10506 [component: bokehjs] [FEATURE] Hiding hex number from color swatch in hover tool"," - #10507 [component: bokehjs] [BUG] Cannot disable MultiSelect in 2.2.1"," - #10536 [component: server] Bad `super` call in \"contexts.py\""," - #10541 [component: bokehjs] [BUG]Slope annotation is not drawn with gradient of 0"," - #10559 [component: bokehjs] [BUG] Modifying a tooltip may result in errors"," - #10575 [component: bokehjs] [BUG] Whiskers do not appear in categorical plots?"," - #10581 [component: docs] [BUG] Outdated example for CustomJSHover"," - #10589 [component: bokehjs] [BUG] multi_line is rendered incorrectly when used with a view with filters"," - #10594 [component: bokehjs] [BUG] Whiskers `base` have reduced precision"," - #10595 [component: docs] [BUG] Minor Typo in Gallery documentation."," - #10603 [component: build] [BUG] 2.3.0dev2 introduced an erroneous dependency on \"python_abi 3.9.* *_cp39\""," - #10604 [component: bokehjs] quote (') from networkx index node are translated to (\u0026#x27;)"," - #10611 [component: bokehjs] bokehjs' unit tests fail after recent changes"," - #10613 [component: docs] Add TOC to reference doc"," - #10643 [component: bokehjs] [BUG] 2.3.0dev5 - Using a widget as a parameter in its own js callback throws 'Maximum call stack size exceeded' on JS side"," - #10666 [component: bokehjs] [BUG] Webgl perf regressions in branch-2.3"," - #10668 [BUG] Warnings about integrity checks when using CDN resources with extension"," - #10670 [component: bokehjs] [BUG] PolyEditTool vertices are not redrawn on data source update"," - #10675 [component: bokehjs] [BUG] ScientificFormatter shows 0 as 0.000e+00"," - #10695 [component: bokehjs] [BUG] MultiChoice options covered up by DataTable"," - #10697 [component: bokehjs] [BUG] ScientificFormatter error formatting negative numbers"," - #10702 [component: bokehjs] [BUG] TextAreaInput value_input no change event detected"," - #10721 [component: build] CI is failing with ModuleNotFoundError: No module named 'bokeh'"," - #10725 [component: bokehjs] [BUG] SVG backend mirrors image in plot"," - #10738 [component: bokehjs] [BUG] MultiLine datetime precision loss"," - #10754 [component: bokehjs] [BUG] Hover indices broken"," - #10755 [component: bokehjs] Unequal length columns cause size mismatch error"," - #10784 [component: bokehjs] [FEATURE] Differential re-rendering of updated plots"," - #10809 [component: bokehjs] [BUG]figure labels missing after updating the CDS"," - #10819 [component: docs] [BUG] Example in LabelSet documentation doesn't seem to be correct"," - #10826 [component: bokehjs] SVG canvas doesn't implement `ctx.fill(fill_rule)`"," - #10837 [component: bokehjs] Public style/**/*.d.ts are not robust enough for path mapping"," - #10841 [BUG] Ensure non-nullable properties in JS are validated in Python"," - #10851 [BUG] Layout regressions"," - #10852 [component: bokehjs] [BUG] Lasso tool does not render"," - #10853 [component: bokehjs] [BUG] Ajax and Server sent examples broken"," - #10855 [component: bokehjs] Only main glyphs has signals connected in `GlyphRenderer`"," - #10875 [component: docs] [BUG] Marker docs require updating"," - #10879 [component: docs] [BUG] Link to export_svg() in export.rst is broken"," - #10880 [BUG] ProxyToolbar.logo: expected a value of type str, got None"," - #10913 [BUG] Error while testing 2.3.0dev13 with Dask"," - #10924 [component: docs] [BUG]Custom Widget Example fails to load (2.3.0rc2)"," - #10647 [component: bokehjs] [Spinner] Avoid twice incrementation with laptop pad"," - #10701 Fix backwards compatibility alias for InspectTool"," - #10760 [component: tests] Manually quote arguments to npx"," - #10860 [component: bokehjs] Resolve IE compatibility issues",""," * features:"," - #2230 [component: bokehjs] expose tap and hover tool hit radius"," - #3674 Add DataModel base class"," - #5618 [component: bokehjs] CategoricalColorMapper ColorBar"," - #5676 [component: bokehjs] Encode colors as 32 bit integers by default"," - #6835 [component: bokehjs] Vectorized Arrow Heads"," - #7845 Allow both tap and doubletap gestures with TapTool"," - #8169 [component: bokehjs] Line break in categorical axis labels"," - #8954 [component: bokehjs] Adding support for superscript exponents"," - #9169 [FEATURE] SVG export for gridplot"," - #9847 [component: bokehjs] Add support for ES module entrypoint"," - #9929 [component: bokehjs] Add hatch rendering to Box Annotation"," - #10203 [component: bokehjs] [FEATURE] line_dash vectorizable where appropriate"," - #10295 [component: bokehjs] [FEATURE] Let AutocompleteInput accept input not present in completion list"," - #10472 [component: bokehjs] [FEATURE] Auto-ranging in network graphs"," - #10505 [component: bokehjs] Add button_type with no border"," - #10576 [FEATURE] 'transparent' as an alias for `rgba(0, 0, 0, 0)`"," - #10599 [component: bokehjs] [BUG] BokehJS minimal example is not working"," - #10612 [component: bokehjs] Hovertool does not work for dynamically added glyphs"," - #10637 [component: bokehjs] Need \"Edges\" only inspected policy for graphs"," - #10662 [component: bokehjs] [FEATURE]Allow naming (title) of Tools"," - #10798 [component: server] [FEATURE] Support Tornado WebSocket compression on server"," - #10824 [component: bokehjs] Add Hatch Patterns for Glyphs"," - #10836 [component: bokehjs] [FEATURE] Add new star marker"," - #10323 [component: bokehjs] Add support for smooth curve glyphs"," - #10493 Accurate color bar ticking with eqhist mapping"," - #10624 [component: bokehjs] Auto-generate index.ts based on tsconfig's input patterns"," - #10640 Implement grad and turn CSS-based angle units"," - #10734 [component: bokehjs] Add support for Less/CSS to extensions"," - #10847 [component: bokehjs] Add star marker - webgl extension",""," * tasks:"," - #8260 [component: tests] Strict \"image diff\" selenium tests"," - #9007 [component: docs] [DOCS] Add mention of Themes to \"Styling Visual Attributes\" docs page"," - #9297 [component: bokehjs] Relese dev npm packages along conda packages"," - #9341 [component: build] Archive release artifacts"," - #9858 [component: bokehjs] Publish prerelease npm packages under `dev` tag"," - #9910 Remove Explicit Marker Models"," - #9958 [BUG] Better warn about passing source in the CustomJSFilter args dict for 2.0 and above"," - #10224 Rename main branch"," - #10333 bokeh build includes copyright statement from Anaconda in my bokeh extension"," - #10341 [component: docs] Developer Docs have outdated info on @gen.coroutine decorator"," - #10343 [component: bokehjs] Upgrade to TypeScript 4.0"," - #10413 marker_compare.py does not exercise webgl"," - #10420 Delete old pypi packages at anaconda.org?"," - #10461 [BUG] Chrome driver fails on WSL2 Ubuntu 18 (and other containerized environments)"," - #10465 [component: docs] [TASK?] docs/{release,installation}.rst have empty toctrees, which can be removed"," - #10467 [component: docs] Redundant TOC in developer documentation can be removed"," - #10473 [component: docs] Add link to community page on all websites"," - #10486 [component: docs] Add check for GOOGLE_API_KEY in conf.py"," - #10508 [component: bokehjs] Improve support icon only button by removing space"," - #10514 [component: tests] Win / Python 3.8 CI job failing"," - #10539 [component: docs] Help requested: Apply writing style guidelines to docs"," - #10551 [component: docs] Missing `/y` option in windows make.bat slows down docs build"," - #10614 [component: docs] Storing static PNG for OpenGraph"," - #10628 [component: docs] Reference guide should display property defaults"," - #10667 [component: docs] Cross reference user guide widgets examples to reference guide"," - #10671 [component: docs] Unclear which Events `on_event` is compatible with"," - #10673 [component: bokehjs] Unintended (?) changes to package(-lock).json"," - #10728 [component: docs] [FEATURE] Linting for docs"," - #10744 [component: docs] [BUG] Stamen Images Broken in Documentation in Chrome"," - #10748 [component: docs] [BUG] DataTable documentation suggestions"," - #10783 [component: examples] [FEATURE] boxplot.py example: improve performance for larger datasets"," - #10803 [component: build] `conda` warnings from bokeh-ci workflow"," - #10863 [component: server] [BUG] bokeh.client max nessage size not configurable"," - #10883 [component: bokehjs] Update GMAP to use an unretired version of the javascipt api"," - #10895 [component: docs] Document new types of color types and color arrays"," - #10906 [component: docs] [BUG] hbar_stack example in documentation does not work"," - #10908 [component: docs] [BUG] Update server.rst - \"acme:com\"?"," - #10935 Dask compat issues w/ nullable"," - #10433 [component: bokehjs] Migrate property definitions to use kinds"," - #10450 [component: bokehjs] Miscellaneous refactorings in bokehjs"," - #10469 [component: bokehjs] bokehjs development workflow improvements"," - #10483 [component: docs] Add CoC information in documentation site"," - #10491 [component: bokehjs] Split off range management code from PlotCanvas"," - #10492 [component: bokehjs] Strictly type View.serializable_state()"," - #10495 [component: tests] AutocompleteInput: add more tests"," - #10500 [component: docs] Add style guidlines and refactor"," - #10519 [component: docs] Restructure documentation landing page"," - #10520 [component: docs] Improve inline/link colors for docs"," - #10528 [component: docs] removed outdated CI instructions"," - #10532 [component: docs] [Docs] Fix display of example boxes on very small screens"," - #10537 [component: bokehjs] Factor out code from PlotView"," - #10549 [component: docs] Annotation docs edits"," - #10550 [component: build] Test on Python 3.9 in CI"," - #10554 [component: tests] Pin pytest 6.0*"," - #10556 [component: docs] Task #10539: Jupyter notebook edits"," - #10562 [component: docs] #10539 layout.rst"," - #10563 [component: docs] 10539 bokehjs.rst doc edit"," - #10565 [component: docs] 10539 export.rst doc edit"," - #10579 [component: docs] #10539 graph.rst doc edit"," - #10591 [component: bokehjs] Improve bokehjs' code quality (part 0)"," - #10592 [component: bokehjs] Clean up usage of `requestAnimationFrame`"," - #10597 [component: docs] #10539 categorical.rst doc edit"," - #10598 [component: docs] Switch sphinx-panels from pip to conda"," - #10602 [component: bokehjs] Redesign how serialization works in bokehjs"," - #10605 [component: docs] #10539 compat.rst"," - #10610 [component: docs] #10539 geo.rst doc edit"," - #10616 [component: docs] Add OpenGraph metadata to docs"," - #10618 [component: bokehjs] Implement views for arrow head models"," - #10625 [component: docs] align webgl.rst with style guide, task #10539"," - #10632 [component: docs] #10539 applied style writing guidelines to tools.rst"," - #10633 [component: docs] Fix new sphinx issue with bokeh.palettes"," - #10634 [component: bokehjs] Update bokehjs' dependencies"," - #10646 [component: bokehjs] Use the correct variant of hasOwnProperty check"," - #10650 [component: bokehjs] Upgrade to TypeScript 4.1 RC"," - #10653 [component: bokehjs] Split visuals into scalar and vector"," - #10655 [component: bokehjs] Unify initialization of visuals and data"," - #10660 [component: docs] Update glossary"," - #10665 [component: docs] Add new first steps guide to replace quickstart"," - #10679 [component: docs] #10539 embed.rst"," - #10681 [component: bokehjs] Add an actual webgl backend test"," - #10682 [component: docs] #10539 extensions.rst"," - #10696 [component: docs] Update data.rst"," - #10699 [component: build] Migrate CI {goanpeca-\u003econda-incubator}/setup-miniconda"," - #10707 [component: bokehjs] Detect dependency cycles in build and fix existing cycles"," - #10708 [component: bokehjs] Upgrade to TypeScript 4.1 and upgrade other dependencies"," - #10729 [component: docs] Edit first steps guides"," - #10730 [component: bokehjs] Add support for publishing npm packages"," - #10732 [component: bokehjs] Redesign inclusion of CSS modules into bokehjs"," - #10759 [component: bokehjs] Upgrade to Chrome/Chromium browser 87.x"," - #10764 [component: bokehjs] Add visual tests for Legend annotation"," - #10766 [component: docs] 10539 plotting.rst"," - #10779 [component: bokehjs] Redesign ColorBar in terms of the layout"," - #10791 [component: docs] 10539 server.rst"," - #10815 [component: bokehjs] Replace CSS based font metrics with canvas based"," - #10823 [component: docs] Remove Vale"," - #10829 [component: docs] Fix minor typos and inconsistencies"," - #10832 [component: docs] Update concepts.rst and cli.rst"," - #10835 [component: bokehjs] Infer viewport size in bokehjs integration tests"," - #10843 Update copyright dates and bokehjs' license"," - #10848 [component: docs] Incorrect Example updated"," - #10862 Add Bokeh8 palette"," - #10865 [component: bokehjs] Miscellaneous bokehjs build changes"," - #10873 [component: docs] Update URL for numpy intersphinx inventory"," - #10922 [component: bokehjs] Fix LogAxis' labels under rotation and add tests"," - #10923 [component: bokehjs] Bump minimum nodejs version to 14+"," - #10933 [component: docs] add 2.3 release notes","","2020-10-19 2.2.3:","--------------------"," * bugfixes:"," - #10488 [component: bokehjs] In python3, rectangle does not appear when x axis is type datetime","","2020-10-12 2.2.2:","--------------------"," * bugfixes:"," - #10453 [component: server] [BUG] KeyError when display certain glyphs on the server"," - #10521 [component: bokehjs] Selectively update data when CDSView changes",""," * tasks:"," - #10451 [component: bokehjs] Update bokehjs' dependencies","","2020-08-31 2.2.1:","--------------------"," * bugfixes:"," - #10426 [component: bokehjs] INLINE_LEGACY does not work (CDN.legacy = True does work)"," - #10431 [component: server] [BUG] pull_session not working in Win10 without this import statement: 'from bokeh.server.server import Server'"," - #10434 Bokeh not embedding plot in Django app sea_surface example [BUG]"," - #10435 [BUG] Regression causing multiple js_on_event subscribers to be ignored"," - #10443 [BUG] incorrect Plot._check_bad_extra_range_name"," - #10448 [component: bokehjs] DataTable DateFormatter does not handle NaT","","2020-08-24 2.2:","--------------------"," * bugfixes:"," - #5589 Some WebGL not working on Safari"," - #6775 [component: bokehjs] SVG backend not correctly coloring glyphs in legends"," - #7707 [component: bokehjs] Linking the ranges of plots will break the LODEnd event"," - #8046 [component: bokehjs] Extra whitespace with SVG export"," - #8446 [component: bokehjs] SVG not displaying scatter output"," - #8744 [component: bokehjs] Plots containing arrows fail to render correctly with svg output backend."," - #9001 [component: bokehjs] hatch_pattern and svg"," - #9213 [component: bokehjs] Svg backend cannot draw annular_wedge correctly [BUG]"," - #9436 [component: bokehjs] [BUG] Arrow glyph does not update"," - #9551 [component: bokehjs] [BUG] ```export_svg``` shifting x-axis upward and overlapping with ticks in Bokeh v1.4"," - #9927 [component: bokehjs] [BUG] MultiChoice displayed value is not updating"," - #10002 [component: bokehjs] Bokeh not rendering, stuck on Loading BokehJS [BUG]"," - #10108 webdriver failing to find installed firefox/geckodriver"," - #10146 [BUG] `js_on_event` doesn't work when used in a callback"," - #10147 [component: bokehjs] [BUG] `TileRenderer` ignores the `visible` property"," - #10153 [component: bokehjs] [BUG] Typed Arrays returned as dicts"," - #10164 custom latex examples do not run"," - #10174 [BUG] Incorrect type of `Select.options`"," - #10191 [component: bokehjs] [BUG] Tools in toolbar flickering and occasionally ignores clicks when HoverTool and hover glyph used"," - #10193 [component: bokehjs] [BUG] `GeoJSONDataSource` incorrectly processes `MultiPolygon` geometry type"," - #10195 [component: bokehjs] [BUG] visual glitch on empty plots with a second y-axis"," - #10215 [component: bokehjs] [BUG] Band is not updated when the model is changed"," - #10219 [component: bokehjs] [BUG] Misplaced Rects when using incomplete categorical ranges"," - #10233 [component: bokehjs] [BUG] bokeh js v2.x legacy libraries"," - #10246 [component: bokehjs] [BUG] wegbl and gridplot with a visible=False element"," - #10249 [component: bokehjs] [BUG] SaveTool generates smaller image than plot"," - #10251 [component: bokehjs] [BUG] DataTable column sort not working with NaNs"," - #10273 [BUG] export_svgs() function creats two files (one is empty)"," - #10281 [component: bokehjs] [BUG] line selection is broken"," - #10301 [component: bokehjs] bokehjs' version has duplicated dev suffix"," - #10302 [component: bokehjs] [BUG] Slider values increment by 2x steps"," - #10305 [component: bokehjs] SVG backend doesn't respect NaN/non-finite values"," - #10319 [component: bokehjs] [BUG] $name not being passed to hovertool for image plots"," - #10320 [component: bokehjs] Plotting with transforms behavior change"," - #10324 [component: bokehjs] Image Hover is broken"," - #10334 [component: bokehjs] Chrome 84 breaks toolbar rendering"," - #10336 [BUG] bokeh.embed.components outputs escaped javascript"," - #10358 [component: bokehjs] [BUG] slickgrid import has syntax error"," - #10361 [component: bokehjs] Autoload with widgets fails if earlier autoload does not specify widgets"," - #10362 [component: bokehjs] [BUG] If axis label is added/removed, the layout is not changed right away"," - #10365 [component: bokehjs] Tooltip chooses wrong side in grid plots"," - #10367 [component: bokehjs] [BUG] NumericInput and Spinner several bugs"," - #10370 [component: bokehjs] ImageURL doesn't respect anchor property when computing bounds"," - #10394 [component: bokehjs] [BUG] Can't add tabs after closing a tab"," - #10409 [component: examples] Spectrogram is broken"," - #10412 [component: bokehjs] [BUG] server_session is completely broken"," - #10238 [component: docs] Fix windows docs build issues"," - #10244 [component: bokehjs] Handle type=\"module\" w/o entry point packages"," - #10271 fix over-quoting by components"," - #10378 [component: bokehjs] Distinguish raw strings from HTML in replace_placeholders()",""," * features:"," - #3653 [component: server] Use a different error for \"can't open socket\" vs \"404\""," - #6864 [component: bokehjs] DataTable autoEdit expose"," - #8595 [component: bokehjs] [Feature request] Allow DataTable to take its natural height"," - #8924 [component: bokehjs] Allow to derive ColorBar's low/high from data"," - #9169 [FEATURE] SVG export for gridplot"," - #9654 [FEATURE] Iterate over submodels of a model and draw submodel graph"," - #9956 [component: bokehjs] [FEATURE] varea_stack support in bokehjs"," - #10179 [component: bokehjs] [FEATURE] Allow any number in spinner using step=None"," - #10265 [FEATURE] Add a DocumentReady event"," - #10374 [FEATURE] Allow defining custom format for NaNs in DataTable NumberFormatter"," - #10066 [component: bokehjs] Add support for copying canvas to clipboard"," - #10353 Enhancements for DataTable",""," * tasks:"," - #10083 [component: bokehjs] bokehjs needs a better assertion framework"," - #10086 [component: tests] Restore BokehJS linting"," - #10089 [component: bokehjs] Simplify/refactor filters in bokehjs"," - #10207 Need to run CI on release branches"," - #10209 [component: bokehjs] Naming for new coordinate systems"," - #10213 [component: build] Issues / Changelog script will need update"," - #10234 [component: bokehjs] Improve responsiveness when hovering over many points"," - #10252 Deprecate Oval?"," - #10282 [component: docs] Update blog links on all websites to point to Medium"," - #10283 [component: docs] Contributing guide needs updating wrt. BEP 6"," - #10284 [component: tests] [BUG] Housekeeping: remove documentation references to py.test"," - #10289 Housekeeping: Update python idioms"," - #10306 [BUG] cElementTree has been deprecated and will be removed in favor of ElementTree"," - #10310 [component: docs] [BUG] Link in docs is not working for fill color property"," - #10329 [component: bokehjs] Change NumberArray to Float32Array?"," - #10344 [component: docs] Documentation and examples updates for 2.2 release"," - #10347 [component: docs] Adding links to BEP 6 and BEP landing page to developer docs"," - #10397 [component: docs] Color site for OpenURL no longer exists"," - #10161 [component: bokehjs] Redefine min()/max() and introduce minmax() function"," - #10162 [component: bokehjs] Reduce memory footprint of data indexing"," - #10163 [component: bokehjs] Don't sort indices by distance in _hit_point()"," - #10176 [component: bokehjs] Ensure typed arrays are used for storing numerical data"," - #10185 [component: bokehjs] Fill in the gaps in bokehjs' property definitions"," - #10187 [component: docs] Fix typo in docs."," - #10200 [component: bokehjs] PlotLayout -\u003e core.layout.BorderLayout"," - #10201 [component: bokehjs] Drop layout's computed variables in favour of bbox"," - #10202 [component: bokehjs] A basis for sub-coordinate systems"," - #10208 [component: bokehjs] Rewrite gloo in TypeScript and add it to bokehjs"," - #10222 [component: build] Fixes for sphinx 3.1.1"," - #10225 [component: bokehjs] Improve performance by replacing _build_discontinuous_regions()"," - #10226 [component: bokehjs] Optimize `HasProps.setv(attrs, {silent: true})`"," - #10227 Forward merge from 2.1.1"," - #10229 [component: bokehjs] Redesign the implementation of CDSView's filters"," - #10235 [component: bokehjs] Redesign \"materialization\" of data specs"," - #10239 [component: build] Release Automation (pt 1)"," - #10240 [component: bokehjs] Corrected EqHistColorMapper with inverted colormap edge transform"," - #10241 [component: bokehjs] Allow to resize images in visual tests"," - #10257 [component: docs] Misc warnings cleanup"," - #10260 [component: docs] #8448 Fix typo \"do no yet work\" -\u003e \"do not yet work\" in bokeh/sphinx/source/docs/user_guide/interaction/legends.rst"," - #10262 [component: bokehjs] Bump electron from 1.8.8 to 9.1.0 in /bokehjs/examples/electron"," - #10269 [component: docs] Fix typos in User Guide"," - #10272 [component: bokehjs] Improve performance of selections"," - #10275 [component: docs] Fix minor typos"," - #10277 [component: docs] Docs change anaconda install source"," - #10298 Add bokeh logo palette; remove rogue double-quote from template"," - #10304 [component: docs] Add note about nginx large_client_header_buffers to docs"," - #10315 [component: bokehjs] Bump lodash from 4.17.15 to 4.17.19 in /bokehjs"," - #10316 [component: server] Require auth on WSHandler"," - #10330 [component: bokehjs] Initial webgl cleanup"," - #10337 [component: docs] Fix typos in Dev Guide"," - #10338 [component: bokehjs] Replace for-in loop with for-of and keys()/values()/entries()"," - #10342 [component: bokehjs] Update bokehjs/package.json"," - #10346 [component: tests] Perform eslint checks on codebase tests"," - #10348 [component: bokehjs] Upgrade to SlickGrid 2.4.27"," - #10350 [component: bokehjs] Fix bokehjs' legacy bundles"," - #10352 Rev pillow version for sec advisory"," - #10354 [component: bokehjs] Code dupe experiements"," - #10357 [component: docs] Update out of date HoverTool docstring"," - #10363 [component: bokehjs] Modernized DataTable styling"," - #10393 [component: tests] Mark webdriver's tests as flaky"," - #10402 [component: bokehjs] Redesign SVG backen","","2020-08-18 2.1.1:","--------------------"," * bugfixes:"," - #10172 [component: bokehjs] [BUG] Can't resolve 'styles/annotations.css' when importing BokehJS"," - #10175 [component: server] [BUG] Serve application at random port failed"," - #10181 [BUG] Unable to set `LabelSet.text_align` with `bokeh serve`"," - #10197 [BUG] Can't select bar_line_color in ColorBar"," - #10204 [component: bokehjs] return typed arrays as lists"," * tasks:"," - #10212 [component: docs] Release notes for 2.1.1","","2020-06-14 2.1.0:","--------------------"," * bugfixes:"," - #7296 [component: bokehjs] Fix orient == 0 case in sidepanel.apply_label_text_heuristic()"," - #9218 [component: bokehjs] [bug] shared columndatasource issues in js callback (uncaught typeerror: cannot read property 'connect' of undefined)"," - #9230 [component: bokehjs] [bug] webgl + cdsview seems to use incorrect marker fill colours"," - #9515 [layout] [bug] layout engine much slower on chrome"," - #9856 [component: bokehjs] [component: build] [bug] bokehjs build does not abort on compilation error"," - #9871 [component: bokehjs] [bug] tablecolumn doesn't use `field` when `title` is not set"," - #9909 [component: bokehjs] Bad toolbar highlight in \"dark\" modes"," - #9915 [component: docs] [bug] the footer on the documentation website extends past its visible area"," - #9924 [component: server] [regression] [bug] django server resources are not working"," - #9953 [component: bokehjs] [bug] race condition between legend and glyph when using `legend_label`"," - #9959 [component: bokehjs] [bug]the hover tool is not disaplyed when the mouse is directly over text"," - #9965 [component: docs] [typo] `cumsum()` transform function docstring mistake"," - #9987 [component: docs] [bug] `factorrange`'s `start` property's help string references `end`"," - #10022 [component: bokehjs] [widgets] [bug] datepicker.disabled doesn't always work"," - #10040 [component: bokehjs] [feature] allow named columns to be used in edittools"," - #10042 [component: bokehjs] [bug] bad label rendering with hbar / subgroup_label_orientation"," - #10072 [component: bokehjs] Bokehjs leak a lots style tag in head tag cause a slow performance"," - #10088 [component: build] Only use local bokeh package in tests"," - #10103 [component: docs] [bug] using anchors in the api reference hides the anchored element under the header"," - #10105 [component: docs] [bug] `cd sphinx; make serve` doesn't work"," - #10107 [component: bokehjs] Settable active state of toolproxys in gridplot"," - #10114 [component: bokehjs] [svg] Resolve issues with resizing and clearing svg canvas"," - #10123 [component: bokehjs] [layout] [regression] Canvas doesn't repaint after layout resize"," - #10126 [component: bokehjs] [bug] model.serializable_attributes method removed in bokeh master"," - #10128 [bug] resource warning unclosed file... _sri.json possible resource leak"," - #10140 [notebook] Fixed typo when registering google colab comms"," * features:"," - #2326 [component: bokehjs] Toggle selection of objects with shift+click"," - #4567 [component: bokehjs] Make tools active state updateable"," - #9863 [component: bokehjs] [feature] add \"dot\" marker variants"," - #9890 [component: bokehjs] Some new markers"," - #9922 [component: bokehjs] Autocompleteinput has no case insensitive option"," - #9963 [feature] add a lineedittool"," - #10021 [component: bokehjs] Add support for document event batching"," - #10132 [API: models] [feature] edittool.empty_value should support"," * tasks:"," - #5744 [component: bokehjs] Use only one of global.isnan and isstrictnan"," - #5800 [component: tests] Hard pass/fail test of some kind of basic glyph drawing"," - #8572 [component: tests] Transforms.py is missing property unit tests"," - #8741 [component: docs] Elevate our code of conduct"," - #9302 [component: bokehjs] [notebook] Push_notebook does not work in google colaboratory"," - #9704 [component: docs] [component: examples] [feature] need to add tile provider demo"," - #9813 [component: server] [feature] compose bokeh server with other tornado http servers"," - #9844 [component: bokehjs] Upgrade nouislider"," - #9913 [component: bokehjs] Use selection() instead of hittest helpers"," - #9941 [component: bokehjs] Deprecate css rendering modes for annotations"," - #9952 [component: docs] [infra] Bust caching of versions.json"," - #9971 [bug] warn about using the same layout element (here: plot) multiple times"," - #9972 [component: bokehjs] [widgets] Select widget un-focuses after selection"," - #9973 Bump jquery from 3.4.1 to 3.5.0 in /bokehjs"," - #9976 [component: bokehjs] [component: build] Update bokehjs' dependencies"," - #9977 [component: build] [infra] Use system installed google chrome in ci"," - #9978 [bug] cannot apply patch to [id] which is not in the document anymore"," - #9982 [component: docs] Bokehjs user guide section not using sri hashes"," - #9990 [component: docs] [bug] elaborate on how the margin attribute works in documentation"," - #9996 [component: tests] Drop support for s3 upload in examples' tests"," - #10000 [component: bokehjs] [component: tests] Add visuals tests for marker glyphs"," - #10001 [component: bokehjs] Clean up type situation around buffer handling"," - #10004 [component: bokehjs] Clean separation between models' and properties' responsibilities"," - #10006 [component: bokehjs] [performance] Speed up setting up of visuals"," - #10008 [component: bokehjs] [svg] Incorporate svgrenderingcontext2d into bokehjs"," - #10012 [component: bokehjs] Use map\u003ck, v\u003e or set\u003cv\u003e instead of {[key: string]: v}"," - #10016 [component: docs] Added ':' before execution command"," - #10026 [component: bokehjs] [typescript] Make show(), build_views(), etc. produce most specific types"," - #10030 [component: docs] Add google api key requirements into documentation dev guide"," - #10035 Miscellaneous changes"," - #10036 [component: bokehjs] Refactor implementation of image and imagergba glyphs"," - #10050 [component: build] Install channels from conda forge"," - #10053 Revert \"spanset\""," - #10054 [component: bokehjs] Use map instead of {} as view storage"," - #10061 [component: bokehjs] Drop usage of our set type in favour of the native set"," - #10068 [component: bokehjs] Reduce usage of for-in loop an in operator"," - #10069 [component: bokehjs] Improve support for ndarray serialization"," - #10074 [component: docs] Fixed #10038 (tornado, ui/ux, search feature improvement)"," - #10077 Resolve f541 after upgrading to flake8 \u003e=3.8"," - #10084 [component: bokehjs] More usage of map\u003ck, v\u003e and set\u003cv\u003e"," - #10085 [component: bokehjs] Make menus usable with tool proxies"," - #10091 [component: docs] Update 2.1.0.rst"," - #10096 Revert \"add support for versioned bokehjs script tags and cdn urls\""," - #10101 [component: tests] Drop examples' baseline and image testing"," - #10116 [component: bokehjs] [component: tests] Chrome 83 breaks image diff tests"," - #10119 [component: docs] Fix a typo in docs"," - #10129 [component: examples] [component: tests] Restore examples' images and upload as an artifact"," - #10130 2.1 updates"," - #10142 [component: docs] [bug] weather_example_scipy"," - #10159 Prefer inclusive language","","2020-04-21 2.0.2:","--------------------"," * bugfixes:"," - #8862 [component: bokehjs] [layout] [regression] [bug] fig.add_layout doesn't update the figure"," - #9864 [component: bokehjs] Fixed palettes bug"," - #9869 [component: docs] [bug] minor typos in validation error output for factorrange and cdsview"," - #9875 [component: bokehjs] [component: tests] Starting headless chrome on macos is unreliable"," - #9877 [component: bokehjs] [bug] boxannotation doesn't respect fill_color=none"," - #9879 [component: bokehjs] [bug] impossible to change factorrange to a lower dimension with different number of factors"," - #9900 Bundling and serving precompiled extensions in broken on windows"," - #9931 [component: build] Installation of bokeh\u003e=2.0.0 adds `release` directory to site-packages"," - #9938 [component: server] [bug] timezone bug in generate_jwt_token"," * features:"," - #9339 [API: models] [feature] add broader themes"," - #9812 [component: bokehjs] Load multiple versions of bokeh into a single web page"," - #9872 [API: models] [feature] allow hiding tooltips for muted glyphs"," * tasks:"," - #6840 Use px as the default font size unit of measurement"," - #9771 [component: tests] Recent changes that require visual testing"," - #9772 [component: examples] Ipywidgets examples"," - #9861 [component: bokehjs] [notebook] Relax elementid check in autoload.js"," - #9865 Change array.length issue in filters"," - #9866 Refactored unused vars to _"," - #9880 [component: docs] Sphinx 3.0 compat"," - #9881 Remove pointless util function"," - #9883 [component: bokehjs] [component: build] Match compilation and minification targets"," - #9885 Update stamen urls for ssl links"," - #9888 Broken link to colorcet repo in palettes.py"," - #9892 [notebook] [bug] saving bokeh example notebooks causes notebook validation errors"," - #9895 [component: build] Ci build is broken (suddenly using python 2)"," - #9903 Suppress gridspec warning"," - #9904 Minor import cleanup"," - #9906 Make auth method overrides explicit"," - #9908 [component: docs] Missing 2.0.1 release notes + typos"," - #9914 [component: bokehjs] Prefer ** operator in bokehjs codebase"," - #9916 [component: bokehjs] Don't duplicate parent's code in oval._map_data()"," - #9942 [component: build] Prep for 2.0.2 release"," - #9944 [component: docs] Improve tile provider docs"," - #9945 [component: build] Release build first steps","","2020-03-29 2.0.1:","--------------------"," * bugfixes:"," - #9522 [component: bokehjs] [bug] arrow lines do not render completely if figure is placed below some div"," - #9703 [component: bokehjs] [bug] image_url combined anchor and angle options generated unexpected results"," - #9724 [component: bokehjs] [bug] behaviour of automated padding for ranges is inconsistent"," - #9773 [infra] [bug] potential chrome cors problem with local output"," - #9778 [component: docs] Incorrect guidance on installing additional dependencies for export() functions"," - #9784 [component: bokehjs] [bug] `selectiongeometry` has incomplete type of `geometry`"," - #9793 [component: docs] Wrong links in bokeh embed example readme"," - #9796 [notebook] Autoload js in notebook broken after pr #9777"," - #9820 Deprecation warnings after pr #9807"," - #9821 [component: docs] [bug] version 2.0 release notes date"," - #9834 [regression] [bug] cannot update datepicker display value from python"," - #9837 [component: bokehjs] [webgl] [bug] lines with empty data breaks plot with webgl renderer"," - #9852 [component: build] Bryanv/correct js version full release"," * features:"," - #9727 [component: bokehjs] [widgets] [feature] add multi-file selection to fileinput widget"," - #9783 [feature] expose `_known_tools` and `_tool_from_string` to allow reuse"," - #9799 [component: server] Allow to serve extensions' bundles and related resources"," - #9814 [bug] 'bokeh.server.django' ignores \u0026bokeh-session-id url parameter"," - #9819 Allow to send binary buffers by messagesent"," * tasks:"," - #9458 [component: bokehjs] [bug] hovertool in 'vline' mode doesn't work with vertical segments"," - #9581 Update dockertools"," - #9692 [component: bokehjs] [typescript] Upgrade to typescript 3.8"," - #9750 [component: bokehjs] [component: build] [feature] improve bokehjs dependency and project management"," - #9758 [component: bokehjs] Deprecate bokehjs package and suggest @bokeh/bokehjs"," - #9766 [component: docs] Doc: add missing '@' in hovertool.formatters example"," - #9775 [component: server] [bug] always setting asyncio event loop policy"," - #9791 [component: server] Allow subclasses of serve subcommand to modify server_kwargs"," - #9794 [component: bokehjs] Add support for bokeh.loader[\"@bokehjs/module/name\"]"," - #9797 [component: tests] Configure codebase tests with `git ls-files`"," - #9801 [component: bokehjs] Update deps and resolve audit warnings"," - #9802 [component: bokehjs] [component: build] Drop tslint in favor of @typescript/eslint"," - #9805 [component: docs] Dev_guide update"," - #9816 [component: docs] [documentation] the developers guide uses old syntax for py.test in pre-commit hook"," - #9823 [component: docs] [bug] clarify that bokeh 2.0.0 no longer accepts a `selected` argument in cds constructor"," - #9831 [component: server] [bug] unhandled exceptions in functionhandler cause hang/blank screen"," - #9839 [component: docs] Fixed some minor docstring typos"," - #9848 [component: docs] Minor typo in bokeh.transform reference docs","","2020-03-02 2.0.0:","--------------------"," * bugfixes:"," - #6490 [component: docs] [notebook] [webgl] Webgl was requested and is supported, but bokeh-gl(.min).js is not available, falling back to 2d rendering"," - #6728 [component: bokehjs] [component: server] Datepicker not updating enabled/disabled"," - #8724 [component: bokehjs] Logcolormapper maps to wrong values"," - #9108 [component: bokehjs] [layout] [bug] incorrect initialization when loading out of focus"," - #9187 [component: bokehjs] [regression] [bug] pinch zoom and panning not working correctly"," - #9245 [bug] \"set_select\" and \"select\" are not working well with layouts"," - #9369 [component: build] Add missing typing_extensions dependency"," - #9392 [component: bokehjs] [bug] inferno3 palette in bokehjs is incorrect"," - #9395 [component: server] [regression] Bokeh_resources does not work with server"," - #9429 Typeerror: symbol.asynciterator is not defined"," - #9435 [component: bokehjs] [component: server] [bug] network latency results in orphaned embedded divs for bokeh server"," - #9446 Misname/copypasta: login_hander?"," - #9455 [component: tests] Isort's test is called test_flake8"," - #9466 [component: docs] [fix] hover icon - documentation"," - #9474 [component: bokehjs] [bug] helptool duplicates in bokehjs"," - #9479 [regression] `nonselection_color` (etc.) doesn't apply after pr #9153"," - #9483 [component: bokehjs] [regression] Fix rendering on high dpi displays"," - #9485 [widgets] Disable option in fileinput not working [bug]"," - #9494 [widgets] [bug] datepicker display off-by-one in non-gmt timezone after upgrade to 1.4.0"," - #9514 [regression] Can't override settings using environmental variables"," - #9562 [bug] impossible to create a custom model while extending and existing one and using javascript"," - #9579 [bug] stdin transmitted in subprocess"," - #9607 [component: bokehjs] [widgets] [bug] slider direction, orientation, tooltips and show_value properties not connected"," - #9621 [component: bokehjs] [bug] bad document json data leads to a dangling promise returned by `pull_session`"," - #9622 [bug] calling `doc.clear()` can lead to unknown model exceptions"," - #9639 [regression] Export fails on osx"," - #9642 [bug] a typo in bokeh/server/tornado.py"," - #9650 Terminate firefox after usage in io.export"," - #9667 [component: bokehjs] [component: tests] [regression] Defaults tests are not running"," - #9672 [component: bokehjs] [widgets] [bug] spinner error for steps \u003c= 1e-7"," - #9676 [regression] [bug] selenium required to build extensions"," - #9681 [component: examples] [documentation] typo in texas.py"," - #9699 [component: bokehjs] [bug] toolbar activation breaks if models are specified in certain order"," - #9702 [component: bokehjs] [regression] [widgets] [bug] daterangeslider is broken"," - #9717 [component: bokehjs] [bug] hover tooltip stretches badly to the left"," - #9734 Only check resource passed-in args"," - #9737 [component: bokehjs] [notebook] [regression] [bug] push_notebook broken in jupyter-lab 1.2.6"," * features:"," - #3458 [component: server] Use session tokens in the auth header"," - #4820 [API: plotting] Hover line width"," - #8561 [API: models] [API: plotting] [component: bokehjs] Fixed tick locations do not affect grid line locations"," - #8893 [API: plotting] Provide selection_line_width and nonselection_line_width"," - #8917 [component: bokehjs] [widgets] [feature] optional valid values list attribute for datepicker"," - #9074 [component: server] Support expiration for session creation"," - #9304 [component: bokehjs] [widgets] [feature] scientific notation for numberformatter"," - #9469 [component: bokehjs] [widgets] [feature]add scientific notation to supported number formats"," - #9505 [component: bokehjs] [component: server] Overhaul session expiry and generalize token"," - #9524 [component: bokehjs] [feature] bokehjs embed_item should return a reference to the plot."," - #9532 [component: bokehjs] [widgets] Please replace multiselect widget with something more compact, effective and nicer looking"," - #9545 [component: server] Allow package relative imports for directory style apps"," - #9560 Add tile providers for openstreetmap and esri imagery"," - #9571 [API: plotting] Allow setting graph node_marker [feature]"," - #9690 Link to discourse from github issues"," - #9706 [component: bokehjs] [feature] js_link attr indexing"," * tasks:"," - #4966 [component: docs] Reference docs don't show inherited properties"," - #8176 Switch the default driver for export_png to chromedriver"," - #8208 [component: docs] Update/refresh notebook user guide chapter"," - #8397 Using subresource integrity with cdn urls"," - #8666 Changes right at 2.0 release"," - #8801 [component: bokehjs] [component: build] Investigate esm support in bokehjs' build"," - #8998 [component: build] Update conda recipe for 2.0"," - #9076 [component: build] Strip sourcemappingurl from published js files"," - #9098 [component: server] Move from tornado.gen to native coroutines ?"," - #9122 [component: docs] Collapse bokeh.models docs"," - #9125 [component: build] Remove old conda free channel for version 2.0"," - #9146 [bug] push_notebook should raise an error if a handle is passed instead of a document"," - #9238 [component: docs] [bug] gridlines are rendered under image plot"," - #9248 [feature] make the palettes module ide-friendly"," - #9334 Deprecate widgetbox"," - #9362 [component: docs] Docs report \"no title\""," - #9365 Landing 2.0"," - #9366 [component: tests] Flake8 shouldn't descend into node_modules"," - #9367 [component: build] Use `npm ci` to force usage of the lock file"," - #9374 [component: build] Revert \"exclude landing-2.0 issues from changelog for now\""," - #9377 [component: bokehjs] [typescript] Upgrade to typescript 3.7"," - #9379 Remove last python 2 compatibility bits"," - #9385 Include step in the list of glyphs that hovertool does not work with"," - #9386 [API: models] Replace metaclasses with `__init_subclass__`"," - #9388 Explicitly warn that cdsview is unsupported on line glyphs"," - #9394 [component: docs] Readmes for all the app examples"," - #9396 Move from_networkx function"," - #9403 [component: build] Intergrate isort into ci process"," - #9406 [component: docs] Glyph method \"other parameters\" still shows \"legend\""," - #9409 Update funding.yml"," - #9410 Update to cdn.bokeh.org"," - #9413 [component: build] [component: docs] Misc dependency changes"," - #9419 [component: build] Remove errant pscript dep"," - #9427 [component: docs] Server embed examples need updates"," - #9432 Remove f-strings from docstrings"," - #9437 [component: docs] Temp disable windows builds for gh ci"," - #9442 [component: build] Bryanv/more gh ci"," - #9444 [component: bokehjs] Conversion from _pop_colors_and_alpha to _pop_visuals missing bokehjs"," - #9449 [component: bokehjs] Rewrite bokehjs' connection tests using async/await"," - #9451 Docs: correct the gh-actions badge in readme"," - #9452 [component: build] Force trigger gh-actions on pull_request"," - #9453 [component: build] Minimal tests issue on forked prs"," - #9454 [component: tests] Isort error message unhelpful"," - #9457 [component: docs] Bokeh.palettes refguide page header mis-renders"," - #9463 [bug] fixing spell mistakes"," - #9476 [component: examples] [bug] non-daemon worker thread prevents gunicorn from shutting down cleanly"," - #9480 [component: build] Expose sri hashes"," - #9482 [component: build] Resolve ipython 7.9 pin"," - #9484 [component: docs] Update twitter handle in docs"," - #9490 Improve sampledata downloading"," - #9500 [component: docs] Use new nf verbiage"," - #9502 [component: docs] [bug] fix simple typo: ther -\u003e the"," - #9507 [component: server] [bug] blank error message when starting bokeh server with python 3.8 on windows"," - #9513 [component: build] Switch to gh ci"," - #9517 [component: docs] Update bokeh developer documentation"," - #9519 [component: docs] Remove pivot app example from readme since it's not supported anymore"," - #9521 [component: docs] Describe google api key usage and embedding"," - #9525 [component: docs] User guide documentation errors"," - #9531 [component: docs] Adding dedicated subsection to docs on bokeh server jinja templating"," - #9533 [component: build] [task] coverage tool breaking change affects bokeh tests"," - #9541 Misc fixes"," - #9543 [component: bokehjs] Bryanv/more misc"," - #9544 [component: build] [component: tests] Flaky selenium tests"," - #9547 More misc repo work"," - #9548 [component: bokehjs] Remove old ad-hoc callback properties"," - #9555 [component: docs] Typos and text improvements"," - #9565 Fix circular import between glyphs and markers"," - #9578 [component: bokehjs] [component: build] Allow to publish dev bokehjs packages"," - #9590 [component: docs] Add ipywidgets_bokeh documentation"," - #9598 [component: tests] Add ci python version check"," - #9606 [component: bokehjs] Make glyph._hit_* methods statically typed"," - #9609 [mypy] Add -\u003e none to all test_ functions"," - #9610 Update license and copyright dates"," - #9623 [component: docs] Add link to jupyter chapter from installation chapter"," - #9635 [component: tests] Don't rely on test markers"," - #9637 [component: docs] Update docstring with missing argument 'template'"," - #9638 [component: bokehjs] Clarify scales hierarchy"," - #9645 [component: docs] Fix two typos in docstrings"," - #9651 [component: docs] [bug] undocumented api removals in 2.0"," - #9658 [component: server] [bug] unable to use async callbacks in `add_next_tick_callback` and the like"," - #9662 [component: tests] Implicitly apply pytest.mark.asyncio to async defs"," - #9665 [component: docs] Typo fix in annotations documentation"," - #9678 Delete custom.md"," - #9680 Remove bad super usage"," - #9686 [component: tests] Force srgb color profile on chrome"," - #9687 [bug] bokeh (html|png|svg) commands all broken"," - #9701 [component: tests] Try to improve passability of tests"," - #9713 Rename bokeh_version"," - #9723 [component: docs] Modified theme documentation to reflect handling of null/none"," - #9726 [component: build] Reduce sdist size"," - #9733 [component: docs] Fix spelling mistakes in documentation"," - #9738 [component: examples] Minor 2.0 fixes"," - #9745 [component: build] Legacy issues should not be in a subdirectory"," - #9754 [component: build] Allow sdist to --install-js","","2019-11-04 1.4.0:","--------------------"," * bugfixes:"," - #8402 [component: bokehjs] No clean way to update vbar_stack"," - #8778 [component: bokehjs] Hover over image is showing wrong @image tooltip on flipped axis"," - #8976 [component: bokehjs] [bug] geographical plots cannot be saved with the save tool"," - #9035 [component: bokehjs] [widgets] [bug] spinner only considers 1 decimal"," - #9129 [component: bokehjs] [widgets] [bug]datepicker displayed value is not updating correctly"," - #9136 [component: bokehjs] Inner_width and inner_height not available after display"," - #9143 [component: docs] [bug] roadmap link on docs page links to a nonexistent page"," - #9152 [component: bokehjs] [bug] hover tooltip breaks with full-circle wedge"," - #9174 [component: bokehjs] [bug] nan_color argument in linearcolormapper is not used"," - #9185 [component: bokehjs] [regression] [bug] exporting google maps pngs sometimes not working properly"," - #9240 [component: build] [bug] building custom extension breaks in notebook"," - #9266 [component: bokehjs] [widgets] [bug] datatable sorting broken"," - #9267 [component: bokehjs] [bug] range_tool selection is over-responsive in y direction"," - #9309 [API: models] [component: docs] [bug] documentation panels empty"," - #9317 [regression] [bug] splattable lists no longer allow using list-like methods"," - #9324 [component: bokehjs] [bug] background property change not working for widgetbox"," - #9338 [component: bokehjs] Include license in bokehjs bundles"," - #9342 [component: bokehjs] [component: server] [regression] [bug] server examples with custom models do not work"," - #9343 [component: bokehjs] Save does not work with custom models [bug]"," * features:"," - #3700 Structured way to get at documents from javascript"," - #8904 [API: models] Allow to offset plot frame's side panel annotations"," - #9009 [component: server] Add support django channels"," - #9135 Be able to order legend items when using groupby legend [feature]"," - #9137 [API: models] [notebook] Allow to integrate bokeh models with ipywidgets"," - #9139 [component: server] Support ssl termination"," - #9140 [component: server] Support tornado get_current_user"," - #9144 [component: bokehjs] Axis rescaled when legend item visibility changed [feature]"," - #9196 [component: bokehjs] [component: build] Add support for building bokehjs extensions"," - #9209 [component: server] Add support for globs to `bokeh serve`"," - #9241 Add 256-color palettes, add a function to generate diverging palettes"," - #9298 [feature] provide mouse press up event"," * tasks:"," - #8209 [component: docs] Searchable documentation?"," - #9002 [component: bokehjs] [component: build] Unify bokehjs build system with extensions' compiler"," - #9070 Improve bokeh/util/logconfig.py call signature"," - #9073 [component: docs] [docs] page for selection tools does not tell users how to get the values/indices of the selection"," - #9150 [component: docs] Use bokehjs from cdn when the commit is tagged"," - #9155 [component: bokehjs] [component: build] Migrate from tslint to (typescript-)eslint"," - #9157 [component: tests] Remove bokeh.embed.notebook.widgets from -oo skiplist"," - #9159 [component: build] Unpin python 3.7 version when possible"," - #9160 [component: bokehjs] Enable more eslint rules"," - #9163 [component: build] [component: examples] Don't upload to s3 on py27 tests"," - #9165 [component: examples] Update dataset for parallel coords plot examples"," - #9167 [component: bokehjs] [component: build] Generate es6 (es2015) compatible bundles"," - #9170 [component: bokehjs] [component: build] Automatically insert class initialization code"," - #9173 [component: docs] [bug] \"line_color\" not applied from yaml theme file"," - #9175 [component: tests] Make bokeh's tests compatible with pytest \u003e= 5"," - #9179 Add support for turbo colormap"," - #9181 [component: docs] [bug] [docs] broken images in custom tooltip example"," - #9183 [component: docs] Update all docs links"," - #9192 [component: docs] Pillow is already a bokeh dependency"," - #9193 [component: bokehjs] [component: build] Bump eslint-utils from 1.4.0 to 1.4.2 in /bokehjs"," - #9199 [component: docs] [bug] [doc] broken link to examples/app"," - #9200 [component: docs] Fix typos in docs, comments, etc"," - #9202 [feature] print full stacktrace on error"," - #9205 [component: build] Don't depend on ipywidgets"," - #9206 [component: docs] Outdated sentence removed from docs"," - #9211 [component: docs] [doc] tpyos"," - #9212 [component: bokehjs] [typescript] Upgrade to typescript 3.6"," - #9219 [component: docs] Update layout docs"," - #9220 [component: docs] Add websource to reference docs"," - #9226 [bug] update license id to use the proper spdx short license id"," - #9228 Update current year"," - #9229 [component: build] Bryanv/update docs automation"," - #9237 [component: docs] [bug] hovertool indices empty when using glyphrenderer from a graphrenderer"," - #9239 Improve \"splat\" list errors"," - #9258 [component: docs] [bug] ajaxdatasource-based glyphs appear incompatible with factorrange"," - #9262 [component: docs] Fix structure issues in palette docs"," - #9264 [component: build] Cdn invalidations too narrow"," - #9265 [component: docs] Rename modify_doc in notebook app contexts"," - #9271 [component: bokehjs] Upgrade from deprecated package istanbul"," - #9272 [bug] improve exception when import _requires fails"," - #9274 If import of channels fails, improve error message to install it via pip"," - #9278 [component: docs] Consistently use https protcol for cdn.pydata.org urls"," - #9286 [component: docs] Fix user-guide documentation and app example typos"," - #9289 [component: docs] Fix broken docs links"," - #9305 [component: docs] Update ga for docs"," - #9312 [component: docs] Update references to jupyter_bokeh extension"," - #9340 [component: docs] 1.4.0 misc docs","","2019-08-06 1.3.4:","--------------------"," * tasks:"," - #9147 [component: build] Update pypi token","","2019-08-04 1.3.2:","--------------------"," * bugfixes:"," - #9142 [component: build] Compute runtime deps correctly"," * tasks:"," - #9101 [component: docs] [bug] wrong option names in sphinxext documentation"," - #9118 [component: build] Use pypi token to upload releases"," - #9120 [component: bokehjs] [component: build] Use npm token to publish","","2019-07-29 1.3.1:","--------------------"," * bugfixes:"," - #9123 [component: bokehjs] [regression] [bug] export_png broken in bokeh 1.3.0"," * tasks:"," - #4870 [notebook] [widgets] Autocomplete should start with a single character"," - #9112 [component: build] Upload to backup cdn"," - #9127 [component: build] Exclude ipython tests on minimal build","","2019-07-22 1.3.0:","--------------------"," * bugfixes:"," - #8015 [component: bokehjs] [widgets] Bokeh datepicker value format inconsistent"," - #8403 [component: server] Bokeh charts load very slow with uncaught typeerror: in browser console"," - #8911 [component: bokehjs] [widgets] Rangeslider stuck when modified by pressing the keyboard arrows"," - #8915 [component: server] [bug] error in the bokeh --serve documentation"," - #8921 [component: bokehjs] [widgets] [bug] datatable copy-paste doesn't work with 0s present in a row"," - #8923 [component: bokehjs] [widgets] [bug] datatable copy-paste doesn't keep the order of rows after sorting"," - #8934 [component: bokehjs] [widgets] [bug] datepicker displayed value is not updating"," - #9016 [component: bokehjs] [performance] Inspection indices' filtering is very slow"," - #9022 [component: bokehjs] [widgets] [bug] \"cannot read property 'style' of null\" javascript error when moving slider"," - #9032 [component: bokehjs] [bug] typeerror after replacing tools on a toolbar"," - #9033 [component: bokehjs] [bug] incompatible definitions of `vbar.width` in bokeh and bokehjs"," - #9065 [component: docs] [bug] development guide missing `test` argument for conda install and pytest install failure on windows"," - #9092 [component: server] [bug] double slash before prefix in autoreload.js"," - #9095 Update docker to work with new conda and bokeh"," * features:"," - #6096 [component: bokehjs] [widgets] File open dialog"," - #8100 [API: models] [widgets] [feature request] option to collapse datatable rows"," - #8676 [component: bokehjs] Make a bokeh textinput callback responsive as text is typed"," - #8872 [component: bokehjs] Add hover support for patch, harea, and varea"," - #8981 [component: bokehjs] [feature] implement hover anchor on more glyphs"," - #9052 Let source.data accept dataframe"," * tasks:"," - #8186 [component: examples] Geojsondatasource not bringing in all attributes"," - #8919 [component: docs] [component: server] Document signed session usage"," - #8944 [component: docs] Texturerepetition missing from docs and `all`"," - #8961 [component: tests] Don't call show in tests"," - #8987 [component: bokehjs] [component: build] Bump nwmatcher from 1.4.3 to 1.4.4 in /bokehjs"," - #8994 [component: docs] Docs typo"," - #8995 [component: docs] Documentation: duplicate $name description"," - #9039 [component: docs] Fixed analysis"," - #9044 [component: build] [task] add downstream tests for pandas-bokeh"," - #9048 [component: build] Upload to s3 cdn in parallel"," - #9049 [component: docs] [docs] developer notes rendered in live docs"," - #9050 [component: docs] Typo/misspelling on mapping geo data page[bug]"," - #9054 [component: build] Fix yamlloadwarning in deps.py"," - #9060 Color regex needs raw string"," - #9075 Use sampledata.bokeh.org cdn"," - #9080 [component: docs] [docs] update links to bokehplots.com, gitter and mailing-list"," - #9082 [component: build] Exclude landing-2.0 issues from changelog for now"," - #9099 [component: bokehjs] [widgets] [feature] extend fileinput to return filename and make output clearer"," - #9102 [component: docs] Docs: update documentation urls in readme"," - #9103 [component: tests] Update dask test location"," - #9106 [component: build] [component: docs] Remove dev build installation instructions","","2019-05-27 1.2.0:","--------------------"," * bugfixes:"," - #2259 [component: bokehjs] [widgets] Autocomplete widget not recognizing value change"," - #6855 [component: bokehjs] Boxselecttool does not work as expected with gmapplot"," - #7699 [component: bokehjs] [webgl] Mixed canvas and webgl glyphs are painted in wrong z-order"," - #8103 [component: bokehjs] Rangetool unusable after selection change"," - #8828 [component: bokehjs] [widgets] [bug] autocompleteinput widget value attribute does not reflect selection"," - #8835 [component: server] [bug] runtimeerror on adding callbacks after rendering"," - #8843 [component: bokehjs] [widgets] Bar_color slider not updating"," - #8849 [component: examples] [bug] color mapping bug in crossfilter example"," - #8853 [bug] exports do not work with firefox webdriver"," - #8889 [component: bokehjs] [bug] imageurl selection_glyph raises \"typeerror: this.retries is undefined\""," - #8895 [component: bokehjs] [bug] customjs callbacks added after initialization do not work"," - #8903 [bug] layout accepts name as keyword arg but doesn't pass to underlying objects"," - #8909 [component: bokehjs] [widgets] [bug] changing slider widget title property does not update view"," * features:"," - #4540 [component: bokehjs] [component: server] Slider callback_policy should work for apps"," - #6135 [component: bokehjs] Feature request: textures to fill properties?"," - #6769 [component: bokehjs] [layout] Legend title"," - #8848 [API: plotting] [component: bokehjs] [feature] stacked areas and lines"," - #8863 [feature] allow the webdriver timeout to be customized"," * tasks:"," - #4665 [component: bokehjs] [component: tests] Add missing widget callback integration tests"," - #5469 [component: docs] Document that boxzoomtool does not work on gmapplot"," - #5918 [component: bokehjs] Touch scroll the page when no tools are active"," - #6516 [component: bokehjs] [widgets] add selenium tests for slider and rangeslider"," - #6927 [component: bokehjs] Allow reset tool to only emit reset event, and skip built-in reset code"," - #7238 [component: docs] Document get_screenshot_as_png better"," - #8433 [component: build] Clean up .gitignore files across the repository"," - #8496 \"warning:bokeh.resources:root_url should end with a /, adding one\" spam"," - #8571 [component: docs] `scripts/deps.py` does not install phantom_js"," - #8861 Create readme to explain server_embed usage"," - #8867 [component: docs] Update tile provider example for \"mapping geo data\" user guide"," - #8874 [component: build] Uploading actual releases to conda bokeh/label/dev"," - #8875 Hatching/stacking follow on work"," - #8876 [component: bokehjs] [component: build] Fix security vulnerabilities reported by npm audit"," - #8897 Reference link updated"," - #8901 [component: examples] [bug] legend order backwards for stacked area plots"," - #8916 [component: docs] Update 1.1.0.rst"," - #8930 [component: docs] Docs: fix typo"," - #8933 [component: docs] Add release notes for 1.2","","2019-04-08 1.1.0:","--------------------"," * bugfixes:"," - #3061 [layout] [widgets] Setting responsive for figures in tabs results in buggy tabs"," - #4393 [layout] If responsive mode is `height_ar`, toolbar box `above` or `below` doesn't work"," - #4404 [layout] Tabs only work with fixed layout"," - #4608 [layout] Initialization problem on `scale_width` plots"," - #4689 [component: bokehjs] Bokehjs charts not respecting plot size"," - #4830 [layout] Figure.width does not update width"," - #4917 [layout] Strange widget alignment behavior"," - #5143 [component: bokehjs] [layout] Tabs not working"," - #5169 [component: bokehjs] [layout] [widgets] Tabs only renders right when at least one tab contains a figure"," - #5193 [layout] [widgets] Overlapping plots"," - #5572 [layout] Subplots vertical axes don't line up"," - #5722 [component: bokehjs] [layout] Widgets do not work in nested layouts"," - #5749 [component: bokehjs] [layout] 0.12.4 breaks custom text inputs field length"," - #6025 [layout] [widgets] Datatables overlapping when in row or gridplot"," - #6259 [component: bokehjs] [layout] Adding new button widgets results in too-wide buttons"," - #6333 [component: bokehjs] [widgets] Multiselect freezes ie 11 on change"," - #6406 [component: bokehjs] Javascript errors when plotting from a columndatasource populated with a pandas dataframe containing column named field"," - #6417 [component: bokehjs] [layout] Tabs widget cannot contain a figure"," - #6427 [component: bokehjs] [layout] Textinput not respecting width"," - #6462 [component: examples] [regression] Npm detection doesn't work on windows (in native console)"," - #6477 [layout] Vertical axes aren't aligned in `plotting/file/categorical`"," - #6508 [component: bokehjs] Multiple callbacks for same model call only last callback"," - #6707 [component: bokehjs] Tap tool on bokeh server does not select data points with a custom callback"," - #6748 [layout] Dynamically turning on axis label does not resize plot"," - #6768 [layout] Alignment of plots in a grid"," - #6822 [widgets] Autocompleteinput does not complete word when option is clicked"," - #6824 [component: bokehjs] [component: tests] Examples/models/file/dateaxis.py is unreliable"," - #7004 [component: bokehjs] [component: build] Incorrect module path format when building bokehjs on windows"," - #7120 [component: bokehjs] [layout] [widgets] Datatable in tab not displaying contents (with minimal example)"," - #7127 [layout] [widgets] Vertical slider"," - #7260 [component: bokehjs] [layout] Unsatisfiable constraint when trying to make plot size responsive within panels"," - #7270 [layout] Plot layout with scale_both, stretch_both, scale_height"," - #7444 [component: bokehjs] [layout] Table covers other widget when table is on the left"," - #7454 [component: bokehjs] [layout] Gridplot with sizing_mode=\"stretch_both\"/\"scale_both\" is totally broken since 0.12.11"," - #7497 [component: bokehjs] Disappearing toolbar"," - #7554 [component: bokehjs] [layout] Bokeh layout rows and columns not responsive on scale_width or scale_height"," - #7766 [component: bokehjs] [layout] Row and column definition gives unexpected layout with option sizing_mode='scale_width'"," - #7771 [layout] Repaint() in plot_canvas.coffee causing significant lag"," - #7805 [component: bokehjs] [layout] Bokeh spacer sets height to one pixel with scale_width set"," - #7933 [component: bokehjs] Different behavior between bokeh and bokehjs with ajaxdatasource"," - #7981 [component: bokehjs] [widgets] Checkboxbuttongroup and radiobuttongroup can not be disabled"," - #7991 [component: bokehjs] Hovertool display pops under shaded portion of slider"," - #8115 [layout] [regression] Stretch_both sizing mode doesn't stretch in 0.13"," - #8164 [component: bokehjs] Tilerenderer cache is not invalidated when url changes"," - #8227 [performance] Improve datatable performance"," - #8290 [component: bokehjs] The \"css_classes\" attribute on datatable object does not work"," - #8355 Compiler issue on windows, importing modules is not working because of backslash incompatibility"," - #8391 [component: bokehjs] \"tile cannot extend\" systemerror when exporting plot with legend placed outside and above plot area"," - #8443 [layout] Button groups do not respect the `sizing_mode` or `width` keyword arguments"," - #8471 [component: bokehjs] [widgets] Updating css_classes on layout elements has no effect"," - #8484 Whisker does not accept explicit negative values"," - #8552 [component: bokehjs] Wrong position on catergoricalaxis of extra_y_range"," - #8585 Typeerror: index is not a valid datetimeindex or periodindex"," - #8596 [component: bokehjs] [typescript] Bokehjs examples to use in node js or angular"," - #8599 [component: bokehjs] Grid bands broken when cross grid lines disabled"," - #8600 [component: bokehjs] Cds callback property not working"," - #8611 [component: bokehjs] [layout] Bug when the middle area between two tabs is clicked"," - #8613 Inline ts code failed at compilation on windows (post #8085)"," - #8614 [layout] Layout broken in hidden tabs after an update"," - #8622 [layout] [regression] Input widget heights behavior"," - #8624 [component: bokehjs] Crosshair icon removed from toolbar in gridplots"," - #8627 [component: server] Issue with bokeh.client after layout pr"," - #8633 [component: examples] Stocks example is not working properly"," - #8638 [component: docs] [layout] Incorrect layout with column of div's with image (1.1.0dev3)"," - #8639 [widgets] Datatable rows overwrite dropdown menu (1.1.0dev3)"," - #8643 [layout] [regression] Dashboard.py example not behaving as expected after the layout pr"," - #8647 [component: tests] Make examples' tests work on windows"," - #8650 [component: examples] Grid_axis_alignment_no_toolbar is broken in windows (32-bit)"," - #8653 [widgets] Assume utc in value_as_date"," - #8654 [layout] Text wrapping in div after layout pr"," - #8655 [layout] Loading plot in separate jupyterlab tab collapses layout"," - #8679 [component: bokehjs] Graphs with list values as attributes fail"," - #8680 [component: examples] [regression] Custom widget in doc strange display in 1.1.0dev6"," - #8681 [notebook] Autoload_js should load css before javascript"," - #8686 [component: bokehjs] [component: docs] Bokehjs columndatasource.change property doesn't exist"," - #8703 [component: docs] Typo in plots.py"," - #8713 [notebook] [regression] Displaying plot in notebook quickly after output_notebook raises js error"," - #8719 [component: tests] Tests sometimes fail on appveyor"," - #8726 [layout] Tabs width set on width of contents - truncating tabs"," - #8733 [component: bokehjs] [notebook] [regression] Gmap plots not working in the notebook and inline resources"," - #8737 Windows phantomjs not killed on selenium termination"," - #8742 [component: bokehjs] Hover tooltip breaks with zero-width wedges"," - #8746 [component: bokehjs] When line_width is set to 0 the glyph boundaries don't disappear"," - #8747 [component: bokehjs] Custom extensions cannot import models/widgets/widget"," - #8762 [component: bokehjs] Tooltips not working for segment on inverted y-axis"," - #8770 [component: bokehjs] Using range padding with image plots leave lots of empty space"," - #8777 [component: bokehjs] [layout] Tabs header doesn't update when layout recomputes"," - #8786 [component: bokehjs] Spinner jumps to low after one click, regardless of step"," - #8789 [component: tests] Codebase tests fail on windows"," - #8793 [component: bokehjs] Range tool gets stuck at minimum width"," - #8794 [component: server] Directoryhandler does not handle ipynb files correctly"," - #8800 Fixes trying to index dict_keys"," - #8810 [component: bokehjs] [regression] Es6 map's polyfill isn't installed in phantomjs"," - #8820 [component: bokehjs] Surface3d example fails to compile"," - #8821 [component: bokehjs] [layout] Make layout respect aspect ratio with scale_height sizing mode"," * features:"," - #4407 [layout] Non-equal proportion split in layouts"," - #4867 [layout] Don't make space for element if not visible"," - #5955 [component: docs] Sphinx bokeh_plot extension should work outside project docs"," - #6173 [component: bokehjs] [widgets] Add numeric input widget"," - #7498 [component: bokehjs] Bokeh panel(closable=true) doesn't make 'x' appear on the panel title and closable by user"," - #7675 [component: bokehjs] [widgets] Add color picker and spinbox widgets"," - #8229 [layout] Add sizing_mode=\"stretch_width\" and \"stretch_height\""," - #8636 Add js_link convenience method"," - #8660 [component: server] Add --index option to specify site index template"," - #8663 [API: models] Add support for data source using server-sent events"," - #8668 [component: bokehjs] Displaying custom data on hover for rgba image"," - #8671 [API: models] Openurl in current tab"," - #8700 [component: bokehjs] Make bokehjs importable in nodejs"," - #8710 [layout] [regression] Add support for spans to grid layout"," * tasks:"," - #3340 [component: bokehjs] [layout] Investigate better implementation for toolbar rendering"," - #4395 [layout] Investigate / describe performance issues"," - #4582 [component: tests] [layout] Add a series of screenshot tests for all the layout modes"," - #4643 [layout] Stop doing two calls to _resize on every resize"," - #4790 [API: models] [component: bokehjs] Widgets with js api"," - #5668 [component: bokehjs] [layout] Use box-sizing: border-box for everything under bk-root"," - #6294 [layout] [performance] Browser rendering extremely slow when many figures in a gridplot"," - #6461 [component: examples] Make simple_hdf example interesting and attractive"," - #6513 [component: bokehjs] Add a link to bokehjs package on npmjs.com"," - #6713 [API: models] [layout] Add visible property to models"," - #6771 [component: tests] Task: fix-up skipped app examples for examples tests"," - #7185 [layout] Unify meaning of {layoutcanvas,layoutdom}.{_left,_top,_right,_bottom}"," - #7451 [API: plotting] [component: bokehjs] Bokehjs typeerror \"legend is undefined\""," - #7864 [component: bokehjs] [typescript] Rewrite bokehjs' tests in typescript"," - #7875 [component: bokehjs] [typescript] Remove unnecessary usage of any type"," - #8071 Make error reporting from `export_png()` more robust"," - #8084 [layout] Improve reliability, performance and feature coverage of the layout"," - #8187 [regression] Do not include large unrelated files in the repository"," - #8197 [component: bokehjs] [component: build] Relativize module paths in generated js/d.ts files"," - #8529 [component: docs] Autoreloader cannot find bokeh on reload"," - #8566 Tile provider causes \"model must be owned by only a single document\" error"," - #8577 [component: server] Delay between autoload.js and websocket request"," - #8578 [component: examples] Create custom example to plot parallel plot"," - #8583 Make websocket_max_message_size configurable in notebooks"," - #8587 [component: build] Pin conda versions with conda_reqs on appveyor too"," - #8589 [component: docs] [docs] bad number in webpage patch method documentation"," - #8606 [component: docs] Change use of deprecated sphinx app logger"," - #8607 Importing abcs from collections is deprecated"," - #8612 [component: bokehjs] [typescript] Remove type duplication between models' attributes and properties"," - #8616 [typescript] Finalize typing plotting api and remove old declarations"," - #8617 [component: tests] Fix pytest's deprecations in examples' tests"," - #8623 [component: bokehjs] [typescript] Upgrade typescript and minifier, and enable more tslint rules"," - #8625 [notebook] Use utf-8 encoding to open notebook file"," - #8628 Daterangeslider returns datetime instead of date"," - #8642 [component: examples] Manual_grid layout example has lost it's core functionality in layout pr"," - #8656 [component: bokehjs] [typescript] Rewrite custom extensions in typescript"," - #8662 [component: build] Use ci.bokeh.org for artifact storage"," - #8669 [component: docs] Bryanv/demosite url"," - #8692 [component: docs] Add live codepen links for bokehjs api"," - #8698 [component: bokehjs] [component: build] Rename bokehjs/build/js/{tree-\u003elib} to match src/"," - #8708 [component: bokehjs] [component: build] Handlebars security vulnerability - npm won't install"," - #8712 [API: models] Deprecate plot.{h,v}_symmetry"," - #8717 [component: bokehjs] Disabled buttons should be gray by default"," - #8723 Bad_extra_range_name validation can be incorrect"," - #8725 [layout] Don't warn on empty layouts"," - #8740 [component: bokehjs] Miscellaneous improvements to bokehjs"," - #8748 [component: bokehjs] Don't expose external libraries in the public api"," - #8751 [BEP] [component: build] Update maintainers list"," - #8771 [component: docs] Updated numfocus donor link"," - #8802 [component: bokehjs] [component: build] Upgrade to typescript 3.4"," - #8804 [component: docs] Corrected spelling mistakes"," - #8805 [layout] Make gridbox.spacing adhere to css argument order","","2019-01-09 1.0.4:","--------------------"," * bugfixes:"," - #8558 [py2] Safer alternative fix for unicode notebook issue in python 2"," * features:"," - #8513 [notebook] Strip out ipython magics when serving notebooks"," * tasks:"," - #8207 Adding/updating boilerplate code"," - #8525 [component: tests] Don't resize window when running images tests"," - #8533 [component: build] Remove warning about `gulp build` in prepare.js"," - #8534 [component: docs] Docs tweak to add note about bokeh_dev and apps"," - #8541 Pyyaml version is vulnerable to cve-2017-18342"," - #8543 [component: server] Bad error message for nonexistent bokeh serve target"," - #8548 [component: docs] Add small documentation to slider callback_policy which only apply to customjs"," - #8550 [component: docs] Fix-up bokeh_dev docs (follow-up)"," - #8553 Add model, event, and populate bokeh.models __all__"," - #8555 [py2] Unicode fix when serving notebooks on python 2"," - #8556 [component: docs] Correct three minor typos","","2018-12-31 1.0.3:","--------------------"," * bugfixes:"," - #7118 [component: bokehjs] Unable to update arrow"," - #8401 [API: models] Incorrect image import from bokeh.models"," - #8493 [component: bokehjs] Polydrawtool shows vertices even when not active"," * features:"," - #2828 [component: bokehjs] [widgets] Multi-line textinput box?"," - #7762 [component: bokehjs] Copy \u0026 paste from datatable"," - #8444 [component: bokehjs] Feature request: expose sort_columns in js datatable object"," - #8502 Support environment variable in addition to --allow-websocket-origin"," * tasks:"," - #8372 Extended bad_column_name error"," - #8379 [component: examples] Export csv example more useful if you don't have to hard code headers in download.js"," - #8383 [component: tests] Attempt to enable downstream tests for holoviews"," - #8384 [component: bokehjs] Feature: add plot's root id to dom so to allow api access to the object"," - #8472 Boilerplates for bokeh/models"," - #8476 [component: bokehjs] [typescript] Upgrade to typescript 3.2"," - #8481 [component: docs] Doc: remove extra \"to execute\" from embed"," - #8485 Update sampledata bucket url"," - #8491 [component: docs] Typo in range_tool example"," - #8495 [component: tests] Document licenses of included projects"," - #8506 Boilerplate for bokeh/plotting directory"," - #8514 Boilerplate for protocol"," - #8517 Boilerplate for bokeh/server"," - #8523 Property getter for model.id"," - #8528 [component: docs] Release notes","","2018-11-29 1.0.2:","--------------------"," * bugfixes:"," - #5721 [component: bokehjs] [widgets] Text_align attribute in numberformatter not doing anything"," - #8395 [component: bokehjs] Legend breaks plot when plotting empty scatter glyph"," - #8396 [component: docs] Fix small typo [ci skip]"," - #8398 Fix typo and grammar mistakes"," - #8409 [component: docs] Typo in documentation of io.export.create_webdriver"," - #8415 Make components() preserve the type of dict"," - #8418 [component: bokehjs] [component: build] Make bokehjs build under node 10.x"," - #8425 [component: docs] Apache documentation typo"," - #8428 [component: bokehjs] [component: docs] Can't get gridplot to work in bokehjs"," - #8451 [component: bokehjs] [component: build] Run `npm install` when `node make *` on fresh install"," - #8457 [component: bokehjs] Embeds with json_item missing toolbar/interactivity"," - #8459 [component: bokehjs] Hovertool does not display fields within jupyterlab's dark theme"," - #8460 [component: examples] Fix a typo"," * features:"," - #8399 [component: bokehjs] Omit colon in hover tooltips if first tuple entry is empty"," - #8411 [widgets] Feature request: add support for setting the datatable row height"," * tasks:"," - #8393 [component: docs] \"customjs for selections\" example in docs broken"," - #8405 [component: tests] Fix failing codebase tests"," - #8413 [component: bokehjs] [typescript] Upgrade to typescript 3.1"," - #8438 [component: bokehjs] [typescript] Clean up semicolons after transition to typescript","","2018-10-31 1.0.1:","--------------------"," * bugfixes:"," - #4096 Bokeh server: color palette rgb is not recognized"," - #8356 [component: bokehjs] Datatable crashes layout if 'field' is key in columndatasource data"," - #8362 Combination of \"export_png()\" and \"show()\" causes error"," - #8374 [regression] Garbage collection of export_png()"," - #8375 [component: bokehjs] Ellipse and datetime axis"," - #8388 [component: build] Release deploy updates package-lock incorrectly"," * tasks:"," - #8367 [component: server] Documentlifecyclehandler should catch exception and clean up callbacks"," - #8369 [component: examples] Histogram example should take edges as argument to make_plot"," - #8387 [component: docs] Bryanv/101 misc docs","","2018-10-24 1.0.0:","--------------------"," * bugfixes:"," - #2022 [component: bokehjs] Not correct behaviour of hovertool with annular glyph and units='screen'"," - #3187 [component: bokehjs] [component: examples] Plotting/file/image_url.py doesn't work without setting {x,y}_range"," - #7116 [component: bokehjs] [widgets] Patch/stream message to the columndatasource for datatable widget on front-end triggers response containing entire data source"," - #7378 [component: bokehjs] [geo] Flicker when zooming on a tile source with mercatorticker"," - #7417 [component: bokehjs] [regression] Deserializationerror when editing data table"," - #7580 [component: server] 'serversession' object has no attribute 'session_context'"," - #7959 [component: bokehjs] Image hover broken on axes with inverted range"," - #7974 [component: bokehjs] [geo] Segments don't show up on gmapplot"," - #7976 [component: bokehjs] Log axis minor ticks wrong position"," - #8018 If the \"selector\" argument is explicitily set to the \"select\" method, an empty list is returned"," - #8020 [regression] Export_png not exporting figures correctly"," - #8021 [component: bokehjs] [widgets] Datatable and glyph selections not linking properly"," - #8032 [component: bokehjs] Draw and edit tools event handling on server broken"," - #8034 [component: server] Unhandled exception in application causes all later sessions to fail"," - #8040 [component: bokehjs] [widgets] Editing filtered datatable cell impacts wrong row"," - #8050 [component: bokehjs] [widgets] Datatable selectable='checkbox' gives javascript error"," - #8060 [component: bokehjs] Inaccurate rendering around 0 on tall bars"," - #8075 [component: bokehjs] Boxedittool draws on doubletap even when tool inactive"," - #8077 [component: bokehjs] Not providing x and y data makes some glyphs not render in legend"," - #8122 [component: bokehjs] [notebook] Bug: push_notebook support is broken in jupyterlab for bokeh=0.13.0"," - #8160 Bokeh_css and bokeh_js resources are reversed in file.html template"," - #8179 [regression] Show() accumulates objects"," - #8198 [component: bokehjs] Hovertool interpolation mode doesn't work for horizontal and vertical lines"," - #8201 [widgets] Datatable does not stay sorted when the data is updated"," - #8230 [py2] Properly use string_types for instance properties and js_on_event"," - #8232 Patch_app.py is broken"," - #8282 [component: bokehjs] Adding computed_icon getter broke toolproxy icons"," - #8292 [component: bokehjs] [regression] Esc has no effect on selections"," - #8299 [component: docs] A tiny typo in the document about graphrenderer"," - #8300 [component: tests] Verify_all() doesn't give information what failed"," - #8334 [component: bokehjs] Y-range for negative value"," * features:"," - #99 making predefined themes available by calling a single function"," - #589 [component: bokehjs] Update legend when legends or other attributes change"," - #2266 Pandas periods are not recognised"," - #2321 [component: bokehjs] [geo] Support a \"patch\" with a hole in it / gis support"," - #4236 [component: server] Implement --develop mode"," - #5231 [component: bokehjs] Save bokeh plot as bokeh plot"," - #5345 Custom models distribution without compiler on the server side"," - #5884 [component: bokehjs] Let scatter marker type be parameterizable"," - #6454 [component: bokehjs] [widgets] Add an option to disable column titles in datatable"," - #6985 [component: bokehjs] Oval selection does not update color (does not support hit testing)"," - #7499 [API: models] Allow defining custom tooltip for certain tools"," - #7618 [component: bokehjs] Feature request: support hit-testing for text glyphs"," - #7890 [component: bokehjs] Step glyph support for gaps from missing/non-finite data points (inf, nan)"," - #7987 [component: bokehjs] Restrict the drawing tools to draw a single glyph"," - #7990 [component: bokehjs] Add clear tool to clear out one or more datasources"," - #8013 [component: bokehjs] Expose the more detailed geometry data to the tap tool"," - #8109 [component: bokehjs] Feature request: verticalline marker (equivalent to marker='|' in matplotlib)"," - #8130 [component: bokehjs] Add tilt option to gmapoptions"," - #8133 [component: bokehjs] [typescript] Freehand drawing tool"," - #8138 Turn off self.validate checks during update"," - #8142 Span location cannot accept datetime whereas labels can deal with it"," - #8156 [component: bokehjs] Feature request: bold italic font specification"," - #8172 [component: bokehjs] Make image smoothing configurable on tilerenderer"," - #8183 [feature request] in the function ‘from_networkx’, convert networkx node/edge attributes to bokeh node_renderer/edge_renderer data_source"," - #8196 [feature request] add .copy method to columndatasource"," - #8206 Add another theme: balanced"," - #8218 [component: bokehjs] Support specifying representative point from legend items"," - #8247 [component: server] Allow defining session cleanup hooks on a document"," - #8284 [component: bokehjs] Autohide toolbar"," - #8295 [component: bokehjs] Fixedticker does not accept minor ticks"," - #8311 [feature request] ‘from_networkx’ function for a fixed layout"," - #8321 [component: bokehjs] [component: examples] Add adapter property to ajaxdatasource"," - #8329 Add webdriver_control and default to reuse"," * tasks:"," - #2283 Feature idea: docker image for bokeh server"," - #2596 [component: tests] Ci test to make sure bokeh works without heavy dependencies"," - #3322 should issue a validation warning when the range values are not unique"," - #4215 Valueerror: nattype does not support timetuple"," - #5355 [component: bokehjs] No way to cleanup used memory"," - #5426 [API: models] It is not possible to set a range1d with datetime.timedelta value"," - #5632 [component: bokehjs] Warn on setting empty plot.legend attrs"," - #6117 Add missing ticker tests and minor ticker improvements"," - #6362 Customize warning formatter"," - #6495 Task: pytest marked \"selenium\" tests should assert no browser console errors"," - #6548 Task: add/use selenium fixture in ``export`` tests instead of creating new phantomjs processes"," - #6770 Task: add user warn/error to columndatasource.from_df method about dataframe containing \"index\" column"," - #7042 [component: docs] User guide, tweak to \"ranges\" doc"," - #7320 [API: models] Document validation check needed for mis-matched y_range_name"," - #7785 [component: bokehjs] [component: server] Pull_session with url paramters isn't working"," - #7788 [widgets] Daterangeslider error not logged nor shown in cli"," - #8017 [component: docs] Added short usage instructions for examples/app/dash"," - #8037 [component: docs] Doc typo (funtion -\u003e function)"," - #8038 Improved support for pyinstaller"," - #8056 Remove code dependent on ipython pprint machinery"," - #8074 Overzealous deduplication of tools for merge_tools"," - #8078 [component: tests] Clean up test support"," - #8086 [component: docs] Simplify pie example"," - #8089 [component: build] Ci scripts with colon in filenames are not valid on windows"," - #8091 [component: tests] Bryanv/test cleanup"," - #8092 Use generators instead of lists"," - #8097 [component: docs] Backticks are broken un docs/*.rst"," - #8104 [component: examples] Box_annotation example .ix method is deprecated"," - #8107 [component: examples] Ref: use .loc instead of .ix in examples"," - #8120 [component: docs] Update documentation for how to use bokeh server with jupyterhub environment"," - #8125 [component: tests] Fixed exception raising tests of test_sources"," - #8128 [component: examples] Rename joyplots to ridgeplots"," - #8131 [component: docs] Docstrings not clear for dimension property for band, span and whisker class"," - #8134 [component: server] Bokeh doesn't work with tornado master"," - #8139 [component: tests] Initial work to support server selenium tests"," - #8140 Remove the arguments parameter from server_session"," - #8146 [component: tests] Unit tests failing in windows 7"," - #8190 [component: examples] Pandas \u003e 0.23.0 \u0026 \u003c 0.23.4 breaks boxplot.py example"," - #8199 [component: examples] Issues: none type: bug tag: examples updated main.py"," - #8214 [component: tests] Bryanv/misc cleanup"," - #8215 [component: docs] Installation docs: need info about export_png/svgs"," - #8217 [component: build] [component: tests] Added unit/integration tests for python3.7"," - #8219 [component: build] Don't report unversioned python in deps.py output"," - #8221 [component: tests] Python 3.7 get_referrers change"," - #8223 Remove dead testing code"," - #8224 Use np.frombuffer instead of deprecated np.fromstring"," - #8225 [component: build] Appveyor build and test for windows"," - #8231 [API: models] Plot.{x,y}_range default value"," - #8235 [component: docs] Some typo in the guide"," - #8251 [component: build] Update requests min version"," - #8252 Pandas is optional overall, but required for hexbin"," - #8254 [component: build] Refine appveyor.yml settings"," - #8257 [component: examples] Example examples/embed/server_session/ is broken, template is missing"," - #8263 Add note of bokeh_phantomjs_path environment variable on missing phantomjs"," - #8271 [component: bokehjs] Missing \";\" in try_run.js"," - #8273 Unhelpful error when passing invalid argument to gridplot"," - #8286 [component: docs] [document] add (or update) an example to demonstrate converting node/edge attributes in from_networkx"," - #8296 Split up bokeh.properties"," - #8301 [component: docs] Re-unify docs build"," - #8302 [component: build] Small build tasks"," - #8308 [BEP] Ratify project roles document"," - #8309 Bryanv/reduce import code"," - #8319 [component: examples] Examples punch list"," - #8322 [component: examples] Pandas warning removed in gapminder example"," - #8325 [component: examples] Correction selection histogram example"," - #8326 [component: examples] Population example legend position -\u003e \"bottom_right\""," - #8327 Load themes from python modules instead of json files"," - #8328 [component: examples] Simple hdf5 example improvement"," - #8330 Replace log.warn with log.warning"," - #8331 [component: examples] Embed_multiple: better arrangement"," - #8341 Boilerplate for bokeh/core"," - #8344 [component: docs] Chaco link is a 404 - changed to git repo url"," - #8348 Confusing multi_line error message","","2018-06-20 0.13.0:","--------------------"," * bugfixes:"," - #799 Templates not included when compiling with py2exe"," - #2080 [component: bokehjs] Hovertool panel for annular wedge displays at center coordinates, not over wedge"," - #7428 [component: bokehjs] Correctly showing wedge hover tooltips with \"clock\" orient"," - #7591 [component: bokehjs] [layout] Adding a slider fails to load visualization in version 0.12.14"," - #7891 [component: bokehjs] [regression] [widgets] Unable to edit datatable cell"," - #7904 [component: examples] Flask_gunicorn_embed.py does not work with tornado 5"," - #7916 [component: tests] Code quality tests fail due to pandas' regression"," - #7924 [component: bokehjs] [regression] [widgets] Sorting linked datatables messed up in bokeh 0.12.16"," - #7926 [component: bokehjs] [widgets] Setting value of multiselect in javascript doesn't unselect previous selected items"," - #7935 Using on_event with string names in python2.7"," - #7941 [component: docs] Update docs: the hovertool attribute is \"formatters\""," - #7978 [component: bokehjs] [layout] Sizing mode scale_both grows on window resize"," - #7984 [component: bokehjs] [layout] Temp partial fix allowing scale_both to work in some cases"," - #7992 [component: server] [memory] Memory leak on add_next_tick_callback"," - #8000 [component: docs] Small documentation error for boxselecttool"," * features:"," - #3596 Warn about python callbacks when they won't run"," - #4986 [layout] Allow elements to be placed in server templates"," - #6320 [component: bokehjs] Expose initial_start and initial_end in range1d"," - #6386 [component: bokehjs] Support line annotations like span but with slope"," - #7401 Support passing a pandas.series as x_range for figure"," - #7795 [component: bokehjs] Feature-request: selection-bar"," - #7908 [API: models] Tile source attribution font size"," - #7921 [component: bokehjs] Bryanv/usability"," - #7961 [component: bokehjs] Add a cumsum transform to cumulatively sum a single column"," * tasks:"," - #7364 [component: docs] Developing with javascript jsfiddle not working in firefox 57.0.3 (macos 10.13.2)"," - #7374 [component: server] Connection errors when sending large amounts of data to browser via a bokeh server"," - #7831 [component: docs] Improve documentation for creating interactive plots in notebook"," - #7880 [component: bokehjs] [component: build] Upgrade npm packages"," - #7905 [component: docs] All gallery examples bundle unnecessary extension code"," - #7911 [component: bokehjs] [component: tests] Make bokehjs' unit tests more robust"," - #7915 [component: bokehjs] Re-jitter on tap is unexpected"," - #7919 [component: bokehjs] [component: build] Replace gulp with a more lightweight solution"," - #7922 [component: build] Move bokeh build and ci to new rackspace account"," - #7930 [component: docs] [typescript] Docs still say that coffeescript is the implementation language of bokehjs"," - #7936 [component: bokehjs] Resettool doesn't restore initial plot when using wmtstilesource and x/y_range"," - #7937 [component: bokehjs] Add support in tablewidget for ajaxdatasource"," - #7946 [typescript] Upgrade to typescript 2.9"," - #7950 [component: build] Bryanv/build cleanup"," - #7951 [component: bokehjs] Line plots jaggy when overplotting noisy data with `line_join='miter'`"," - #7953 [component: bokehjs] Modifying data source while polydraw is editing breaks editing"," - #7957 [component: bokehjs] [component: build] Replace esprima with typescript compiler api"," - #7962 [component: bokehjs] [component: build] Run `npm install` automatically if package.json changed"," - #7967 [component: docs] Typo in the image_url documentation"," - #7973 Add new maintainer to the list"," - #7977 [performance] High (probably unnecessary) cpu load due to is_valid calls"," - #7985 [API: plotting] Bokeh gmapoptions error"," - #7993 [layout] Improve computing of available space for responsive layouts"," - #7995 [component: docs] Documentation of cmap functions"," - #8003 [component: docs] [notebook] Updated docs for two-way jupyter communication","","2018-05-14 0.12.16:","--------------------"," * bugfixes:"," - #3556 [component: server] Add a server callback once and then again as periodic"," - #4298 [component: bokehjs] Ajaxdatasource data initialization"," - #6303 [component: bokehjs] Bokeh.io.export captures screenshot before asynchronously loaded models"," - #6698 [component: bokehjs] Bands wrongly coloured"," - #6699 [component: server] Server logger (format, output, etc) does not work"," - #7011 [API: models] Error message in notebook when running explicit path graph example from user guide"," - #7349 [component: bokehjs] [widgets] Arrow keys don't work if the step of slider is very small"," - #7462 [component: bokehjs] Multi_line does not work with categorical plots"," - #7476 [component: bokehjs] Plotcanvasview#build_levels removes only glyphs when renderers change"," - #7597 [widgets] Bug: datatable view doesn't rerender on table.source.change.emit()"," - #7621 `save` creates non-working files when used with widgets"," - #7627 [component: bokehjs] [regression] Selected points get lost with tap tool"," - #7705 [component: bokehjs] [regression] \"typeerror: cannot read property 'is_empty' of null\" when using hovertool"," - #7724 [component: bokehjs] [component: server] Plots not reacting to sliders inside flask"," - #7736 [component: bokehjs] [regression] [widgets] Editable datatable freezes when a cell is edited"," - #7744 [component: docs] Docs - json prototype does not expand"," - #7745 [component: bokehjs] [component: server] Pointdrawtool : no python side update of the data source"," - #7761 Permission denied error when invoking export_png() or export_svgs from inside jupyter notebook"," - #7783 [component: bokehjs] The child property of panel can't be a widget"," - #7790 [component: bokehjs] [regression] [typescript] Plotcanvas.save() is missing break statements"," - #7801 [component: bokehjs] [regression] Bokeh 0.12.15 throws typeerror on touch devices when dragging"," - #7803 [component: tests] Py.test -m unit doesn't run pytest.mark.parametrize tests"," - #7807 [component: examples] [regression] Allow customjs args to accept basic python types"," - #7819 [component: bokehjs] [performance] [regression] Rendering occurs on mouse move when hover tools is enabled"," - #7836 [component: docs] Minor fix in docs"," - #7840 [component: docs] Html formatter has a small typo"," - #7849 [component: examples] Ionrangeslider example fails when adding more than one slider"," - #7868 [component: bokehjs] [geo] The plot disappears when the max_zoom value of wmtstilesource is set and this value is reached"," - #7885 [regression] Exporting datatable to png broken"," - #7886 [py3] Detect_phantomjs() is broken on py3 when phantomjs is not available"," * features:"," - #113 [layout] Axis should have option to have a fixed orientation"," - #2427 [component: bokehjs] Make axis wheel zoom configurable"," - #3125 Expose the wheel zoom speed in python"," - #3126 [component: bokehjs] Add box zoom out tool"," - #3442 `boxselecttool` should accept renderers = none"," - #3886 Feature request: add hover inspection image glyphs"," - #4286 [component: docs] Provide examples of using remotesource/ajaxdatasource in the docs"," - #5071 [component: bokehjs] Add a method to \"reset\" a figure"," - #7582 [component: bokehjs] [performance] Consider replacing rbush spatial index with flatbush"," - #7643 [API: models] [component: bokehjs] Option to rotate additional categorical ticks"," - #7647 [component: bokehjs] Allow custom formatter when using the hover tool"," - #7725 [component: examples] Increase `size` and `color` options for crossfilter example"," * tasks:"," - #3903 [component: tests] Clean-up jupyter custom.js after running examples"," - #4915 [component: docs] [widgets] Default value in dropdown menu is stuck on none"," - #4923 Add a type check to `show` for better error reporting"," - #5911 [component: docs] Move off eoled google site search"," - #6175 [component: server] Some clients send bad pong, lower log level to reduce noise"," - #6193 [component: docs] Make bokeh_plot work in sphinx by default without google_api_key"," - #6240 [component: tests] Fail gracefully when pr is submitted from a fork"," - #6306 [component: bokehjs] Allow strict mode for cutomjs, etc. written in pure js"," - #6341 [component: server] Add parameter to autoload_server to control loading of js/css resources"," - #6657 Task: make columndatasource.column_names attribute a property method"," - #7080 [component: docs] [component: server] [notebook] Notebook_url=\"*\" fails in show()"," - #7510 'export_png' from bokeh.io triggers 'deprecated' warning from selenium using phantomjs"," - #7576 [component: build] Use pscript instead of flexx.pyscript"," - #7715 [component: docs] All release notes on one webpage"," - #7720 [component: build] [component: tests] Add \"downstream\" ci build"," - #7723 [component: build] Markdown description for pypi"," - #7729 [component: build] Update of ipython to 6.3.0 breaks unit tests"," - #7734 [component: build] Remove pytest-rerunfailures from ci tests"," - #7741 [component: build] Svg export test occasionally fails on travis"," - #7750 [component: bokehjs] [component: tests] Investigate output from test_defaults"," - #7751 [component: bokehjs] [component: build] [typescript] Keep all custom declarations (d.ts) in external/"," - #7753 Revert \"don't use --rerun\""," - #7759 [component: tests] Move outstanding static integration tests to examples/integration"," - #7765 [component: examples] Added 'pan' to the hexbin example"," - #7774 Make api decorators more debugging friendly"," - #7777 [component: tests] [py3] Switch python versions between full and partial examples' travis ci jobs"," - #7778 Remove all deprecations before 0.12.15"," - #7781 [component: docs] Missing docstring for get_screenshot_as_png"," - #7786 [component: bokehjs] [component: build] Rename bokehjs/src/coffee"," - #7797 [component: docs] Missing documentation of `--show` option for command line `bokeh serve`"," - #7800 [component: docs] Add relative path option and handling to sphinx ext"," - #7802 Findable and tunable html error boxes please"," - #7814 [component: examples] Surface3d example color fixed to z axis"," - #7821 Revert \"set a data source's inspected taking multiple renderers into account\""," - #7823 [component: bokehjs] Stacked bars failing to update on patch"," - #7829 [component: build] Update for npm 6"," - #7835 [component: docs] Jupyter notebooks need to be \"trusted\" for saved js to render without re-executing cells"," - #7841 [component: bokehjs] [component: build] Drop dependency on webpack"," - #7854 [component: docs] Dependency collision: nodejs\u003e=8.8,\u003c9.0 and npm \u003e=6.0 \u003c7.0"," - #7855 [component: docs] Added how-to set up conda environment using fish shell"," - #7858 Use full year for ticks in default month-year scale"," - #7860 [component: docs] Update docstring for on_change"," - #7878 Add new mpl cividis palette"," - #7879 [component: bokehjs] [component: build] Resolve reported npm issues"," - #7896 [component: docs] Typos"," - #7897 [component: build] [component: tests] Additional dependencies for unit tests"," - #7898 [component: docs] Unit tests require missing sampledata: airports.csv","","2018-03-29 0.12.15:","--------------------"," * bugfixes:"," - #6525 [component: tests] Py.test bokeh/tests/test_io.py doesn't kill phantomjs precesses"," - #6787 [component: bokehjs] Svg output bleeds past axis"," - #6867 [webgl] Rect shape gets out of figure when panned or zoomed with webgl"," - #6871 [component: examples] Examples/howto/{js_events,events_app} contain bad css"," - #7054 [component: bokehjs] [component: examples] Line_select.py broken again"," - #7087 [webgl] Log scale graph will be blank if output_backend is webgl"," - #7168 Webdriverexception when using export_png"," - #7211 [webgl] Webgl incorrect clipping, 0.12.11 onwards"," - #7219 [component: server] Tornado next tick callback issue"," - #7416 [component: bokehjs] Excess text when multi_line hover hits two or more lines"," - #7468 [component: server] Increasing memory consumption of bokeh server"," - #7508 [component: docs] Fix typo in docs"," - #7515 [component: bokehjs] Bokeh 0.12.14 doesn't highlight initially selected options in multiselect widget"," - #7518 [component: bokehjs] [regression] Is ajaxdatasource losing the endpoint?"," - #7523 Out of range float values are not json compliant with numpy arrays"," - #7537 Export_png does not clean up temporary files before exit"," - #7538 [component: bokehjs] [regression] Adding a title to layout removes toolbar from top of plot"," - #7546 [component: bokehjs] [performance] Stream_to_column() doesn't implement rollover properly"," - #7562 [component: bokehjs] [widgets] Checkboxbuttongroup active list broken in 0.12.14"," - #7587 [regression] Regression streaming datetime columns"," - #7608 [component: docs] Fix typo in docstring"," - #7614 [component: examples] Fix io_loop paramenter in examples/howto/server_embed/flask_embed.py"," - #7619 [component: server] Issue with rapid page reloads with tornado 5"," - #7622 [component: bokehjs] [widgets] Slider violates start and end when using keyboard navigation"," - #7624 [component: docs] Doc: bug: fix user guide docs on embed - link schema typo"," - #7645 [component: bokehjs] [layout] Sizing_mode='scale_width' makes plot 1 or 2 pixels too wide in notebook"," - #7652 [regression] Regression when plotting images with non-binary array types"," - #7681 [regression] [webgl] Webgl initialization broken after pr #7637"," - #7688 [component: bokehjs] [geo] [regression] Gmapplot not rendering"," * features:"," - #2507 [component: bokehjs] Have grid that respects bounds of axis"," - #4786 [component: bokehjs] Add a hex tiling glyph"," - #7466 [component: server] [notebook] Notebook_embed.ipynb works locally but not remotely via ssh tunnel"," - #7563 [component: bokehjs] Functickformatter option to receive all ticks at once"," - #7566 [notebook] Add support for push_notebook in jupyterlab"," - #7600 [component: bokehjs] Global alpha for image_rgba plot"," - #7638 [component: bokehjs] Add a hex scatter marker"," - #7642 [API: plotting] [component: bokehjs] Add mercatoraxis class"," - #7685 [component: server] [notebook] Bokeh server compatibility with running behind jupyterhub"," * tasks:"," - #2644 [component: docs] Enable image diff testing for user's guide source example"," - #3723 [component: tests] Write unittest for ajaxdatasource"," - #5386 [BEP] Clean up beps and migrate to google docs"," - #6481 [typescript] Rewrite bokehjs in typescript"," - #6562 [component: server] Propagate settings to tornado application from bokeh server"," - #6594 [component: bokehjs] Add support for headless chrome/chromium for image diff tests"," - #6845 [component: bokehjs] Make .selected a proper bokeh model"," - #7125 [notebook] Only first plot in jupyter notebook cell is shown"," - #7474 Alpha not working on images"," - #7483 [component: build] [component: server] Add tornado 5 to ci testing"," - #7492 In a stacked bar chart there is no way to add tolltips for segments in column"," - #7494 [component: build] Specify compilation inputs in tsconfig.json"," - #7495 [component: build] [typescript] Upgrade typescript to version 2.7.1"," - #7502 [component: build] Resolve compilation errors around number.isinteger"," - #7505 [component: docs] Sphinx bokeh extension script directory sorting"," - #7509 [component: build] Remove pytest-catchlog dependency"," - #7513 [component: bokehjs] [component: build] Check if package.json changed before proceeding with build"," - #7516 [component: docs] [component: examples] Update examples and add documentation for selection model"," - #7520 [component: docs] Bokeh-plot directive incomptable with sphinx 1.7"," - #7522 [component: docs] Fix typo"," - #7526 Jsonencoder warning when using latest numpy"," - #7530 [component: examples] Add axis names to scatterplot matrix"," - #7531 [component: bokehjs] [component: docs] Update documentation after removal of `range1d(start, end) syntax`"," - #7542 [component: docs] Fix typo in figure.vbar_stack docstring"," - #7549 Bokeh channel on anaconda.org contains broken version of packaging?"," - #7550 [component: docs] 'conda install flexx -c bokeh' fails on windows 7"," - #7553 [component: bokehjs] Make boxedittool match polydrawtool ui"," - #7559 [component: tests] Fail travis ci tests when there are ts compilation errors"," - #7571 [component: build] [component: docs] Enforce usage of npm \u003e= 5.6"," - #7584 [component: build] Don't repeat base install for external prs"," - #7585 [component: build] Rev conda_reqs and ignore built python files for docker images"," - #7588 [component: docs] Sort all sphinx docs by file suffix. 'py' first"," - #7602 Bokeh should not instance its loggers using: logging.getlogger(__file__)"," - #7654 [component: bokehjs] [widgets] Datatable index column enhancements"," - #7662 [component: docs] Anonymize google analytics collection"," - #7690 [component: docs] The readme.md contains typos and could be written more concisely"," - #7711 [component: docs] Typos on palettes page"," - #7716 [component: docs] Release docs for 0.12.15","","2018-02-07 0.12.14:","--------------------"," * bugfixes:"," - #5420 [component: bokehjs] View.classname doesn't respect class structure"," - #6655 [component: bokehjs] X/y_range not properly set with tile source"," - #6680 [component: bokehjs] Datetime (convert_datetime_type) seems to add in extra milliseconds"," - #6932 [layout] 0.12.9 misplaced figure title"," - #7083 [component: bokehjs] Factorrange regression: plot does not get updated when factors change"," - #7101 [component: bokehjs] [widgets] Broken datatable selecteditor"," - #7139 [component: bokehjs] [regression] [widgets] Datatable automatically scrolls down when app loads"," - #7218 [component: bokehjs] Circle not circular"," - #7266 [layout] [regression] Spacer does not display using show on 0.12.11"," - #7290 [component: bokehjs] Regression in boxzoomtool with match_aspect"," - #7291 [component: bokehjs] Hovertool with attachment=\"vertical\" incorrectly positions tooltips"," - #7295 [component: docs] Removed a broken link from server.rst"," - #7298 Remove dependency on phantomjs when other webdriver is used"," - #7304 [component: bokehjs] [regression] [widgets] Datatable editing regression"," - #7319 [notebook] Themes not applying in the notebook"," - #7327 Output_png and output_svgs fails in the settings.phantomjs_path( ) function."," - #7337 [component: bokehjs] Legend entry for text renderer causes error"," - #7370 [component: bokehjs] Regression in graph rendering during zoom"," - #7373 [component: bokehjs] [regression] \"number.isinteger()\" javascript error of slider in internet explorer"," - #7386 [component: docs] Error in documentation for handling categorical data"," - #7398 [component: bokehjs] [regression] [typescript] Missing import of includes function in tile_renderer"," - #7400 Issue with figure and legend when a dataframe is passed as a source"," - #7412 [component: bokehjs] [typescript] Variables in widget selectview undeclared"," - #7439 [component: bokehjs] [notebook] [regression] Regression displaying embedded bokeh plots outside the notebook"," - #7443 [component: bokehjs] [layout] [regression] Bokeh layout elements overlap in new version"," - #7448 [component: bokehjs] [regression] [typescript] \"typeerror: hits.map is not a function\" when hovering over multiline"," - #7452 [component: bokehjs] [regression] [widgets] Revert nouislider rev update"," - #7460 Bokeh.core.properties.date#transform fails on windows"," - #7461 [component: server] [regression] Unable to reuse sessions of a server application"," - #7470 [component: bokehjs] Polydrawtool does not emit event on double-click"," - #7475 [component: bokehjs] [regression] Setting range end or start through customjs not working"," - #7478 [component: bokehjs] [regression] Selection and nonselection glyph properties ignored"," - #7484 [regression] Cannot select tools in certain examples"," - #7488 [component: bokehjs] [regression] Renderers/glyph_renderer contains invalid syntax"," - #7503 [component: bokehjs] [regression] [widgets] Selecteditorview (and others) doesn't have access to its model"," * features:"," - #6370 [component: bokehjs] Proposing a bokeh draw tool"," - #7292 [API: models] Make it possible to create hovertool with attachment set to explicit left, right, above, below"," * tasks:"," - #3250 [component: bokehjs] Tool icons should have the same dimensions"," - #3551 Add https to tile providers urls in `bokeh/tile_providers.py`"," - #6605 [component: bokehjs] [component: build] Add support for tslint in bokehjs' build"," - #6681 [component: server] Streaming numpy datetime64 data does not work"," - #6887 Remove all server examples that use session.loop_until_closed"," - #7014 [component: bokehjs] The inherited width should be set to 100% and up to the user to implement margin and padding restrictions"," - #7084 [component: bokehjs] Factorrange regression: bokehjs crashes if data has values not in factorrange factors"," - #7164 [component: tests] Axes labels misplaced on multiple extra_x_ranges"," - #7267 [component: bokehjs] [component: build] Make bokehjs' build work with npm 5"," - #7288 404 error on website page for releases"," - #7289 [component: server] Sort application names in index page"," - #7308 [component: server] Tornado 5.0 compatibility"," - #7318 [component: docs] Make old/dev docs warning banner always float"," - #7323 [component: docs] Components not working with notebook show in the same cell"," - #7331 [component: tests] Replace strict fp equality with allclose"," - #7332 [component: bokehjs] [layout] Initialize box's layout variables in initialize()"," - #7344 [component: docs] Minor typos in bokeh server docs code example"," - #7346 [component: tests] Resolve pytest --log-file conflict"," - #7354 [component: bokehjs] Remove resettool.reset_size"," - #7376 Add traceback information to exception messages callbacks"," - #7385 [component: docs] Fixed a broken link ('why anaconda')"," - #7391 [component: bokehjs] Multi-gesture tools do not work on proxytoolbar"," - #7405 Icons have various visual artifacts"," - #7420 [component: bokehjs] [component: build] [typescript] Move gloo2 to its own repository"," - #7426 [notebook] Allow push_notebook() to run when no change has occurred"," - #7431 [component: bokehjs] [typescript] Remove attrs from hasprops.initialize()"," - #7434 [component: docs] Remove references to autoload_server() from the docs"," - #7455 [component: docs] State and check min phantomjs version"," - #7458 [component: build] Update version number in package-lock.json"," - #7500 [component: examples] Expand elements example with tooltip","","2017-12-06 0.12.13:","--------------------"," * bugfixes:"," - #7283 [component: build] Windows install fails 0.12.12","","2017-12-05 0.12.12:","--------------------"," * bugfixes:"," - #6588 [typescript] Model references are not resolved when trying to change ranges and attach js callback at the same time"," - #7268 [component: bokehjs] [notebook] Push_notebook regression in 0.12.11"," - #7282 [component: bokehjs] Add missing return statements to get_indices typescript version"," * tasks:"," - #7214 [component: bokehjs] [component: build] Allow es6 output from bokehjs' build"," - #7276 Unclear exception when bokeh_log_level env variable is set to a wrong value"," - #7279 [component: docs] Configuring plot tools documentation was unclear","","2017-11-28 0.12.11:","--------------------"," * bugfixes:"," - #1376 [component: bokehjs] [widgets] Implement `widget.disabled`"," - #1651 [layout] Grid plot with row of all none behaves badly"," - #3538 [component: server] Session could auto-no-op any callbacks invoked after the session is destroyed"," - #4561 [layout] Models/legends example broken"," - #4574 [layout] [regression] Plot border gets covered up by things stuck on edge"," - #4613 Hover tool has own column in ie"," - #4787 [layout] [widgets] Erroneous toolbar separator positions using tabs"," - #5761 [layout] Location in colorbar offsets from axis"," - #6065 [component: bokehjs] Touch events fail in device mode under chrome devtools"," - #6348 [layout] Layouts with multiple tab widgets don't work"," - #6409 [component: server] Screen distance spec fields fail with bokeh.client"," - #6466 [component: bokehjs] [layout] Rendering error with toolbar_sticky=false and sizing_mode='scale_width'"," - #6502 [widgets] Programmatically setting the active tab does not change the tab in 0.12.6 \u0026 0.12.7"," - #6545 Patch bug: patch slices must have positive (start, stop, step) values, got slice(0, 200, 50)"," - #6583 [component: bokehjs] Rect not behaving correctly with zero height"," - #6600 [component: build] Downloading dependencies from scripts/deps fails"," - #6676 [layout] [regression] Axes' tick labels are trimmed when moving plot"," - #6841 [component: bokehjs] [regression] [widgets] Rangeslider css_classes not being updated anymore"," - #6946 [component: bokehjs] Graphrenderer view not updating"," - #7060 [layout] [regression] Twin_axis not showing label correctly in version 0.12.9"," - #7062 [component: bokehjs] Linked brushing does not work on second plot in gridplot"," - #7075 [layout] Changing title attributes does not work as expected in bokeh server"," - #7121 [component: docs] Documentation - typo in release file 0.12.10"," - #7128 [component: server] [regression] When embeding bokeh server to flask, attributeerror: 'nonetype' object has no attribute '_id' shows up"," - #7162 [component: docs] Fix documentation for properties.rgb"," - #7184 [component: server] [regression] Support stream and update with pandas dataframes"," - #7189 [component: bokehjs] Hovertool data not completely matching when using cdsview filters in bokeh 0.12.11dev2"," - #7193 [component: bokehjs] [regression] Ion slider extension example broken"," - #7199 [component: bokehjs] Missing import of logger in toolbar.coffee"," - #7202 [layout] Layout of plot border with axis.visible = false"," - #7212 [component: bokehjs] [notebook] [regression] Ie11-incompatible syntax in bokeh/core/_templates/autoload_nb_js.js?"," - #7213 [component: bokehjs] Canvas image smoothing in ie11"," - #7222 Double encode escapes in html-safe json strings"," - #7224 [component: bokehjs] [regression] `sdy` in range info is inverted and affects panning gmaps"," - #7230 [component: examples] Spectrogram example image broken"," - #7240 [component: docs] Missing figure import on graph example"," - #7250 [component: bokehjs] [widgets] Slider callback doesn't occur on particular values"," - #7255 [component: bokehjs] [regression] Zooming performance regression in 0.12.11rc"," * features:"," - #1007 [component: docs] Documenting the documentation process and guidelines"," - #3644 [component: bokehjs] Would need a figure.step to create step line in plot"," - #4635 [layout] Right titles are too far out"," - #4711 Decorator for documenting what version a function or method first appeared"," - #5298 Box select does not work with vbar but tap tool does"," - #5937 [component: bokehjs] Lod in linked plots"," - #6565 [component: server] Avoid boiler-plate when constructing a bokeh server programmatically"," - #6599 Bokeh server url hard coded as over http"," - #7130 [component: bokehjs] [bokekjs] unable to use customjs in bokehjs"," - #7150 [component: bokehjs] [widgets] Adding optgroup functionality to select widget"," * tasks:"," - #4394 [layout] Axis label size change does not trigger a re-alignment"," - #4874 [layout] Toolbar css class occasionally is `bk-toolbar-null`"," - #5648 [API: models] Line renderer raises the \"without value specification\" when a columndatasource is used"," - #6174 [component: bokehjs] Hovertool vline/hline models for line glyph (_hit_span method) causes non-intuitive tooltips to appear"," - #6447 [layout] Switch layout's coordinate system from view to screen"," - #6626 [component: docs] Updates to /docs/dev_guide/setup.html"," - #6990 [component: bokehjs] [layout] Allow toolbar in side panels and drop sticky property"," - #7028 Gmaps incompatible with datarange1d, make error louder/earlier"," - #7039 [component: docs] Clarify some security considerations"," - #7053 [component: examples] [component: tests] Plotting/file/categorical_scatter_jitter needs a seed"," - #7081 [component: docs] User guide still refers to bokeh.embed.notebook_div"," - #7096 [component: docs] Typo in server.rst"," - #7100 [component: docs] Renamed custom attribute from range to slider"," - #7103 [component: docs] Update bokehjs standalone installation guidelines"," - #7104 Bokeh channel version of nodejs is no longer in sync with upstream anaconda/nodejs"," - #7114 [component: bokehjs] Add wheelpantool support to bokehjs"," - #7131 Prove of concept: caching of nodejs compilation on model bundling"," - #7154 [typescript] Investigate coffeescript 2 and its benefits for transition to typescript"," - #7172 [component: docs] Extending bokeh with js library documentation needs to clarify use of javascript() to wrap js"," - #7179 [component: docs] Zeppelin notebook integration not working"," - #7181 [component: tests] Move annotations' \"integration\" tests to examples"," - #7190 [component: docs] Legend text with click_policy=\"hide\""," - #7198 [component: docs] Request for improvement to columndatasource documentation in reference to multi_line()"," - #7200 [component: docs] Adding additional information in the multi_line() documentation"," - #7207 [component: docs] Add kwargs documentation for directoryhandler"," - #7229 [component: docs] Multiprocessing in windows is not available (error:module 'os' has no attribute 'fork')"," - #7236 [component: examples] Simplify brewer.py example","","2017-10-16 0.12.10:","--------------------"," * bugfixes:"," - #4247 [notebook] Performance issues after repeated `push_notebook` calls"," - #4965 Datepicker errors on input from chrome on windows 8.1"," - #5415 [notebook] Having multiple `push_notebook` calls in the same widget callback doesn't work"," - #5452 [notebook] Plotting bug when using push_notebook() from customjs callback"," - #6258 [regression] Colorspec processing is broken"," - #6590 [component: server] Tile sources cannot be shared between app sessions"," - #6820 [component: bokehjs] Cdsview not working with text glyph"," - #6831 [component: examples] [regression] Color slider example can show hex fp values"," - #6846 [component: bokehjs] Categories on yaxis with hbar fails to set initial ranges"," - #6863 [component: server] Datatables do not update properly for on_change events 0.12.7"," - #6891 [component: bokehjs] [regression] Customjs for hover no longer working - bokeh 0.12.7"," - #6910 [component: bokehjs] The new feature filter (cdsview) not behaving has expected"," - #6921 [component: bokehjs] [notebook] [regression] Shared drag tools in grid plots only work on the last plot"," - #6926 [component: bokehjs] Daterangeslider incorrect value displayed"," - #6947 [component: bokehjs] Color mapping in circle fill colors does not take current view (cdsview) into account"," - #6949 [component: bokehjs] Length_units has no effect for rays"," - #6955 Possible bug: hover tool does not work with filtered source"," - #6982 [component: bokehjs] Bugfix: bokeh-server: ie fails with \"object doesn't support this action\""," - #6986 [component: bokehjs] Mercatorticker behavior poorly defined for ranges exceeding mercator bounds"," - #6993 [component: bokehjs] [regression] Bad positioning of colorbar for 'above' and 'below'"," - #7015 [component: bokehjs] [regression] Functickformatter broken with categorical axis"," - #7035 [component: bokehjs] [regression] [widgets] Datatable with dynamic number of rows is unstable and breaks"," - #7044 [component: server] Bokeh server sessions not released correctly"," - #7048 [component: bokehjs] Datepicker returns one day earlier than picked in ie"," * features:"," - #3601 [component: bokehjs] Patchesview._mask_data() changes the draw order"," - #4117 [component: bokehjs] Add support for client side filtering of data sources"," - #4911 Updating two glyphs using periodic callback"," - #6945 [component: bokehjs] [component: server] [notebook] Use bokeh protocol to implement push_notebook"," - #6951 Y_range doesn't understand numpy arrays"," * tasks:"," - #4049 [component: docs] Improve documentation to support running unit tests locally"," - #6666 [component: docs] [component: examples] Update sliders in examples"," - #6704 [component: bokehjs] Hovertool hit detection fails on vertical and near-vertical segment glyphs"," - #6718 [notebook] Push_notebook updates at most one plot"," - #6918 [component: docs] Js code error in documentation"," - #6928 [component: docs] Bryanv/cleanups"," - #6937 [component: docs] Fix typo in notebook.rst"," - #6938 Stop computing unused and expensive bokeh.__base_version__"," - #6943 [component: docs] Fix docstrings"," - #6952 Canonicalize bokeh.client"," - #6957 [component: docs] Generate uuids for sphinx docs js script names"," - #6962 [component: docs] Gridplot doctext formatting error"," - #6971 From_networkx fails with networkx 2.0"," - #6978 Passing an index for factors throws value error"," - #6991 [component: docs] Out of date reference to matplotlib in user guide for color bars?"," - #6994 Canonicalize bokeh.colors"," - #6999 [component: docs] Incomplete docs re embedding when using data tables"," - #7009 [component: tests] Reduce size of travis ci logs"," - #7016 Fix codebase issues"," - #7021 Canonicalize more top level modules"," - #7022 Clean up sampledata"," - #7029 [component: examples] Fixed url typo in examples app \u0026 changed readme url to https"," - #7031 [component: docs] Server docs are misleading"," - #7033 [component: docs] `bokeh-demos` link doesn't exist"," - #7041 Changed to handle nx2 scale \"kwarg error"," - #7052 [component: build] Upgrade typescript to version 2.5.3"," - #7056 [component: bokehjs] Remove bk-logo-{medium,large}","","2017-09-12 0.12.9:","--------------------","","2017-09-12 0.12.8:","--------------------"," * bugfixes:"," - #1329 [widgets] Daterangeslider re-sizing"," - #2268 [widgets] Daterangeslider not rendering"," - #4048 Bounds on axis causes axis labels to go off page"," - #4876 [layout] Tile attribution misaligned (see toolbar on right-side example)"," - #6842 [component: docs] Bokeh.models.widgets.sliders is missing from the reference documentation menu"," - #6844 [notebook] Bug: bokeh.io.push_notebook is broken"," - #6850 [layout] [regression] Log-axis label layout issue"," - #6852 [component: bokehjs] [regression] Hovertool not rendering on hbar glyphs in 0.12.7"," - #6859 [component: bokehjs] [regression] Dateformatter not working in tables"," - #6860 [component: examples] Patch color_sliders.py"," - #6873 [component: bokehjs] [widgets] Unable to render \u003c, \u003e, \u0026 in datatable"," - #6880 [widgets] Datatable rendering broken in notebook"," - #6885 [component: docs] Typo in edgesandlinkednodes docstring"," - #6898 [component: docs] [doc] adjust docstring indentation"," - #6908 [component: bokehjs] [notebook] [regression] Running output_notebook with hide_banner=true broken"," - #6909 [notebook] Notebook output generates console errors"," - #6922 [notebook] Unprotected ipython imports break bokeh without notebook installed"," * features:"," - #994 Text doesn't respect new lines"," - #5984 Improve data transfer, using a binary transfer protocol"," - #6865 Allow supplying explicit edge paths to graphrenderer"," - #6876 [component: bokehjs] New feature: add a \"resettool clicked\" event"," - #6895 Bokeh daterangeslider returns tuple of integers instead of dates"," * tasks:"," - #2458 [component: examples] Add examples for daterangeslider and datepicker"," - #5065 Task: refactor select tools"," - #6472 [layout] Make layout canvas' panels not overlap in corners"," - #6560 Using ``export_png`` or ``save`` without filename from within jupyter notebook saves png file to lib/python"," - #6612 Task: graph visualization improvements"," - #6700 [component: bokehjs] [component: build] [notebook] Bokeh / jupyterlab integration"," - #6819 [component: tests] Switch examples tests to use python 3.5 or 3.6"," - #6832 Simplify data frame length calculation"," - #6837 Remove mpl and bokeh.charts"," - #6847 Check nodejs version number and update documentation"," - #6851 Plots which contain glyph's with infinite bounds fail to set initial ranges when match_aspect is set to true"," - #6869 [component: bokehjs] Remove leftover code after pr #6752"," - #6878 [component: bokehjs] [component: server] Bryanv/document cleanup"," - #6888 Add trace log level on python side"," - #6902 Add network-related sample data source","","2017-08-28 0.12.7:","--------------------"," * bugfixes:"," - #515 Line plots render selections wierd"," - #516 Labels on axis do not like \":\" character ;-)"," - #517 Better control over data/screen aspect ratios needed for large circles"," - #2240 Tick format language"," - #2527 [widgets] Rendered slider* plots have missing bk-* classes"," - #3466 [geo] Consider dynamic_map.py for deprecation"," - #3935 [component: server] [component: tests] How to get the server examples testable again"," - #4295 [component: bokehjs] Investigate disabling user-select"," - #4337 Plot blank if categorical label too long"," - #4503 [component: bokehjs] Date picker widget is unstyled"," - #4507 [widgets] Problem rendering un-wrapped sliders"," - #4599 [component: bokehjs] [layout] Wrapping output in center tag causes toolbar misalignment"," - #4880 Error plotting dates before 1970 (on windows?)"," - #4972 [layout] Plot collapses on adding multiple labels above/below the plot if title='none' not specified in plot()"," - #6121 [component: bokehjs] [widgets] Autocomplete input appearance differs between notebook and html file output"," - #6185 [component: server] Unable to interactively update renderer (i.e. circle, triangle, etc.) size using bokeh server"," - #6279 [component: docs] Documentation link not working right"," - #6308 [component: bokehjs] [widgets] Sliders :: customjs can not dynamically change title"," - #6450 [component: bokehjs] [layout] Canvas outline does not cover top of canvas"," - #6464 [component: build] Examples upload failed on full release build"," - #6474 [layout] New panels to a tabs widget does appear"," - #6478 [component: bokehjs] [widgets] Editable data tables not modifying python source.data - bokeh server 0.12.6"," - #6486 [component: build] Revert conda build to --no-test"," - #6501 [component: bokehjs] [regression] [widgets] Multiselect selection highlight no longer present when programmatically selected"," - #6507 [component: docs] User guide docs clerical error"," - #6509 Bokeh png command doesn't maximize window to capture entire output"," - #6514 New phantomjs sessions spawned inside bokeh.io._get_svgs despite driver arg"," - #6525 [component: tests] Py.test bokeh/tests/test_io.py doesn't kill phantomjs precesses"," - #6535 [component: tests] [regression] Py.test reports for integration tests are broken"," - #6549 [typescript] Upgrading to typescript=2.4.1 breaks gulp build task"," - #6571 [component: build] Export google_api_key in test:docs"," - #6576 [API: plotting] [component: bokehjs] [regression] Bokehjs' plotting api broken after pr #6260"," - #6578 [component: tests] [regression] No link to integration tests' report after pr #6542"," - #6592 [regression] [webgl] Save tool not functioning for webgl backend figures 0.12.6 regression"," - #6593 [component: bokehjs] Vbars with negative y/height do not work with hover"," - #6606 [component: docs] \"taptool\" is incorrectly called \"tapselecttool\" in the reference documentation"," - #6616 [component: bokehjs] [widgets] Pre-selection on rows in a bokeh datatable fails to display such selection"," - #6620 [component: build] Scipts/deps.py only works in the root environment."," - #6628 [component: bokehjs] [component: server] [regression] Filterable cds broke cds streaming"," - #6642 [component: examples] [regression] [widgets] Export_csv example under 0.12.7dev11 doesn't resize table"," - #6653 Typeerror: 'unicode' does not have the buffer interface"," - #6679 [component: bokehjs] [component: build] [notebook] [regression] Bokehjs fails to load at all in notebooks after 0.12.7dev12"," - #6725 Bug: linked selection example doesn't work"," - #6730 [component: bokehjs] Setting range_padding to 0 can lead to an empty plot"," - #6731 Setting visible=false doesn't work with glyph functions"," - #6736 [component: bokehjs] Attaching ajaxdatasource to multiple glyphs leads to multiple ajax requests"," - #6739 [component: docs] Plots don't render in dev docs due to missing resources"," - #6740 Graphrenderer doesn't correctly handle single node graphs"," - #6755 [component: bokehjs] Colormapper special colors do not support alpha"," - #6757 [component: examples] Examples/app/spectrogram bug"," - #6786 [component: bokehjs] Label using screen units bound to frame is positioned relative to canvas"," - #6808 [component: bokehjs] [notebook] [regression] Nbconverted static notebooks fail to render"," - #6809 [component: bokehjs] [notebook] [regression] Inline, minified resources do not work in classic notebooks"," - #6829 [component: bokehjs] [regression] Degraded hovertool performance in 0.12.7rc4"," * features:"," - #187 Support graphs/trees/networks"," - #474 Easily control aspect ratio"," - #4070 Plotting with subsets (row-wise) of columndatasources (like filtered data)"," - #4538 [starter] Allow layout function to accept arbitrarily nested lists"," - #5992 Pass http request arguments to autoload_server and pull_session"," - #6375 [component: build] Developer docker tools"," - #6492 [component: bokehjs] [widgets] Expose textinput type as a property of widget. (for password typing)"," - #6598 [component: server] [notebook] Server url hard coded as localhost. with possible fix"," - #6601 [component: bokehjs] Add major_label_overrides to colorbar"," - #6621 [component: server] Add metadata support to bokeh server"," - #6667 Creating a columndatasource with a dataframe makes it impossible to use streaming"," - #6709 [component: bokehjs] Increase the number of zoom levels available to bokeh tile sources"," - #6788 [notebook] Make notebook display extendible by external libraries"," * tasks:"," - #2452 [component: examples] [widgets] Add examples with widgets using plotting interface"," - #3245 [component: docs] List methods at top of documentation for figure class"," - #3517 Hovertool fails for rects with only negative heights"," - #3917 [component: docs] [component: examples] (re)move `tests/compat`, `tests/glyphs`, `tests/notebook`"," - #4196 Remove the resize tool?!"," - #4752 [component: docs] 0.12: missing `toolbar_sticky` documentation on migration guide"," - #4859 [component: docs] Bokeh plot in jupyter slides not rendered corretly"," - #5431 [component: server] [enh] bokeh server to show url"," - #5502 [component: bokehjs] [widgets] Consider nouislider to replace all our slider widgets"," - #5506 [component: bokehjs] [widgets] Fix datepicker widget"," - #5596 [widgets] Fix/drop autocompleteinput"," - #5628 [component: examples] Add synthetic data mode to spectrogram"," - #6283 [component: build] [component: tests] Implement travisci stages to improve ci builds"," - #6291 Add \"png\" bokeh command"," - #6332 [component: bokehjs] [component: build] Remove css 'bk-' prefixing"," - #6369 Add height/width kwargs to bokeh.io.export to support resizing the exported png"," - #6377 [component: docs] Docs suggest `text_align` property works on figure titles but it doesn't"," - #6395 [component: bokehjs] [component: build] Investigate errors with ts-node 4.0.5"," - #6439 [component: server] Server(..., io_loop=io_loop, num_procs=0) --\u003e runtimeerror"," - #6441 [component: tests] Enable exclusion of selenium tests for static image export"," - #6453 [component: examples] [starter] Numpy runtime warning in missing data example"," - #6455 [API: models] Drop tool.plot property"," - #6467 [component: build] Start building new conda no-arch packages for bokeh channel"," - #6480 Bokeh.util.serialization.py convert_datetime_type breaks when passed timezone aware datetime"," - #6487 Remove all 0.12.4 deprecations"," - #6496 [component: docs] Reference docs are missing bokeh.models.scales automodule"," - #6497 [component: build] Update linux dist on travisci"," - #6512 Bokeh 0.12.6 incompatible with python 2.7.9?"," - #6521 [component: bokehjs] [component: server] Deprecate toolevents"," - #6529 [component: build] Only run js tests on py3 builds for now"," - #6530 [component: build] Split bokeh-widgets into bokeh-widgets and bokeh-tables"," - #6532 [component: bokehjs] [component: build] Remove bokehjs/src/vendor and all associated logic"," - #6543 Remove requests as runtime dependency?"," - #6546 [component: tests] Set initial date in date picker in models/file/widgets"," - #6550 [component: docs] Image for jitter example on gallery does no reflect example"," - #6557 [component: bokehjs] [component: build] Simplify bokehjs' build"," - #6563 [component: build] Fix up stages install order issues"," - #6568 [component: build] Hotfix for travisci log truncation"," - #6577 Columndatasource.stream() setter argument is not documented"," - #6581 Deprecate openurl?"," - #6584 [component: bokehjs] [component: build] Add a sample configuration for bundling with webpack"," - #6596 [component: docs] Add typescript version of extensions_putting_together.py"," - #6619 [component: examples] Examples/howto/server_embed uses sample data from web that no longer works"," - #6627 [component: docs] Add additional instructions to /docs/dev_guide/setup.html"," - #6629 [component: docs] Reference documentation missing bokeh.application and bokeh.command"," - #6634 [component: examples] Add example of custom tooltip to example library"," - #6651 [component: docs] Documentation for `crosshairtool` not updated"," - #6658 Task: add polyselecttool callback attr"," - #6684 [component: docs] Following dev documentation fails for a clean conda env"," - #6687 [component: docs] Bug in \"running a bokeh server\" page"," - #6700 [component: bokehjs] [component: build] [notebook] Bokeh / jupyterlab integration"," - #6715 Remove deprecated functions"," - #6717 [component: docs] Update docstring to reflect changes released in 0.12.0"," - #6721 [component: bokehjs] [typescript] Drop tsx templates"," - #6747 Task: expose webdriver as kwarg to export_png and export_svgs"," - #6750 [component: docs] 0.12.7 docs/examples"," - #6762 [component: server] [component: tests] Random data in server examples causes image diff to fail"," - #6791 Task: refactor jupyter notebook integration to use custom mimetypes"," - #6796 [component: examples] Add examples from pycon.pl tutorial"," - #6800 [API: models] [widgets] Automatic configuration of slider.format"," - #6810 Call load_notebook via notebook hook"," - #6823 [component: bokehjs] Improve styling of slider widget","","2017-06-13 0.12.6:","--------------------"," * bugfixes:"," - #2136 Selections only work on the last of two series in one plot"," - #2680 Non-unit specs accept still allow `units` field"," - #3386 `property.__delete__` does not send a change notification"," - #3564 [component: bokehjs] [widgets] Getting values of selected rows from a datatable after reordering with sort"," - #3838 Push_notebook doesn't seem to work display updated table content"," - #4294 [notebook] Replace table source"," - #4433 [layout] Gallery example issues"," - #4657 [regression] Adding an unwrapped widget to document, may not render properly"," - #4764 [component: server] [layout] Issue with interactions between widgets and plots using bokeh server"," - #4810 [component: server] [layout] Trouble swapping out layout contents when using server"," - #4829 [layout] Tabs only consisting of datatables not drawn correctly"," - #4872 [component: server] Arrows not updating from streaming data source"," - #5044 Shift selection in linked brushing plots"," - #5131 [layout] [widgets] Unexpected initial layout with datatable and layout()"," - #5198 Hovertool line_policy 'nearest' 'next' not working"," - #5207 [widgets] Need to resize window before datatable row labels show up"," - #5246 [component: tests] [regression] Py.test prints garbage when there is a syntax error in *.py files"," - #5499 [component: bokehjs] Datetimes on plot are always treated as local time and shifted to utc"," - #5518 [layout] Add new child to existing column"," - #5634 [component: docs] Fix documentation of 'bokeh html foo.py'"," - #5811 [component: bokehjs] Vbar width not updating correctly when too many things updated through `push_notebook`"," - #5856 [component: bokehjs] [layout] Plot becomes unresponsive when button widget is appended to layout"," - #5907 Hover inspection does not work for all glyphs"," - #5914 [component: bokehjs] Unable to right align tick labels"," - #5967 [layout] Unexpected behavior when deleting from layout.children"," - #6005 [component: bokehjs] Box select rendered incorrectly on bokehjs linked example"," - #6035 Na values correctly skipped in linear scale but not in log scale"," - #6047 [component: docs] User_guide/embed.rst still references collections"," - #6080 [component: server] Prefix bug on \"active bokeh applications\" page"," - #6085 [component: bokehjs] Hover tooltips update impossible"," - #6091 [layout] Sizing_mode breaks gmap alignment"," - #6095 `imageurl.{w,h}` use data units by default"," - #6104 [component: build] Twine upload in build/upload release script incorrect"," - #6105 [component: build] Setup.py auto-generates a bad empty string classifier"," - #6108 [component: bokehjs] [component: tests] Error using datarange1d with auto start/end and datetimeaxis"," - #6111 [component: docs] Fix typo in selection documentation"," - #6115 [component: bokehjs] [widgets] Descending order with tablecolumn still ascending"," - #6120 [component: bokehjs] Hover responds to hidden data when legend.click_policy = 'hide'"," - #6123 [component: bokehjs] [regression] [widgets] Rangeslider bug"," - #6124 [component: bokehjs] Update core/dom.ts to work with upcoming typescript 2.3.0"," - #6127 [component: bokehjs] [regression] Issue upgrading from bokeh 0.12.4 to 0.12.5 with ie 11"," - #6130 [component: bokehjs] Multiline hit_test fails if line_width property utilized"," - #6142 [component: bokehjs] [regression] Regression in legend positioning"," - #6152 [component: bokehjs] [component: server] Bokeh server is incompatible with tornado=4.5"," - #6156 [component: build] [component: docs] Optimized python execution fails due to missing __doc__ instantiation"," - #6199 [component: server] Client.coffee sets binary type incorrectly"," - #6205 [component: tests] Typescript 2.3.0 breaks customjs tests"," - #6207 [component: bokehjs] [regression] [widgets] Htmltemplateformatter still uses underscore"," - #6208 [component: bokehjs] [regression] Possible to use gesture tools after disabling in toolbar"," - #6210 [component: bokehjs] [regression] Bokehjs doesn't work in notebook"," - #6212 [regression] Issue with test build 0.12.6dev3 on windows 7 with ie11"," - #6213 [component: bokehjs] [layout] [regression] Appending layout regression"," - #6226 [component: bokehjs] [component: build] Update coffee-script's version to 0.12.5+"," - #6238 [component: bokehjs] Mousewheel event: delta=none at all times"," - #6244 [component: build] Fails to build in windows 7"," - #6248 [API: plotting] [regression] Gmap not configuring mercator tick formatter"," - #6252 [component: examples] Embed multiple sample data mismatch length"," - #6261 [component: bokehjs] [layout] [regression] Adding new sub-layouts fails to set documemt"," - #6263 [regression] Plot validation doesn't happen for non-application layouts"," - #6301 Yahoo ichart api is failing, should use stock data from bokeh.sampledata.stocks"," - #6311 [regression] Spectrogram performance regression"," - #6316 Bug in screendistancespec serialization"," - #6319 [component: server] Bokeh server does not close http sockets"," - #6328 [component: bokehjs] [notebook] Gmap in notebook unreliable again"," - #6343 [component: examples] Scale/range incompatibility in examples/models/server/population.py"," - #6365 [component: bokehjs] [regression] Imagergba error during change events"," - #6366 Webgl isn't correctly deprecated bokeh 0.12.6dev7"," - #6388 [component: bokehjs] [regression] Selection tool regression"," - #6391 [component: build] Bokehjs' build uses gulp 3.x but @types/gulp 4.x"," - #6393 [regression] Modifying datasources broken"," - #6397 [component: server] More explicit match cases"," - #6398 [regression] [webgl] All webgl examples fail"," - #6400 [component: bokehjs] [regression] Line_select.py example broken"," - #6402 [widgets] Disabled button raises button click protocol event"," - #6411 [regression] Matches() is broken when pandas is not installed"," - #6416 [component: bokehjs] [regression] Hovertool broken with multi_line plots in 0.12.5"," - #6433 [component: bokehjs] [regression] Selecting a line from a multi-line when one is already selected causes an error"," - #6443 Svg images are incorrectly smoothed"," - #6449 [component: bokehjs] [notebook] Protect against exceptions when running inline code"," * features:"," - #538 Headless static (svg, png) image generation"," - #1239 Hover.tooltip convenience function for 'datetime' info"," - #1482 [starter] Datarange1d.rangepadding should allow \"fixed\" values"," - #1671 [starter] Allow users to specify explicit tick labels"," - #2352 Feature request: error bar plots"," - #5430 [component: docs] [enh] help widget tuned for end user"," - #5599 [component: bokehjs] Feature: hover tool inspector default"," - #5831 Numberspec coordinates should accept datetimes"," - #5885 [notebook] Support embed bokeh into apache zeppelin"," - #6044 \"columns must be of the same length\" warning does not show context"," - #6064 [component: bokehjs] Remove the hover menu item, and keep the hover function working"," - #6081 Feature request: add support for user-defined custom mappers"," - #6161 [component: bokehjs] Extend hit testing and hover support to segment"," - #6186 Themes not applied in `file_html`"," - #6285 [component: bokehjs] Extend patching to sub-items"," - #6286 [component: bokehjs] [widgets] Enabling/ disabling re-ordering of columns in datatable (freezing columns in place)"," * tasks:"," - #1833 Make get_version consistent between pip-intalled and conda-intalled devel builds"," - #2595 [component: docs] Update hovertool's documentation with field formatting, etc"," - #2984 [component: docs] Update sphinx version to fix documentation parsing issues for google style docstrings"," - #3016 [component: docs] Axis location must be set on creation (documentation fix)"," - #3656 [component: docs] Docs on widgets \u0026 interactions should link to the callbacks \u0026 events section"," - #4153 [component: bokehjs] Strict trigger() and listento()"," - #4449 [component: bokehjs] Ensure canvas state reset at start of drawing"," - #4948 [starter] Plot title ignores sizing and appears italicized if number is provided but no units are specified"," - #5007 [component: examples] [starter] Update unemployment examples"," - #5268 [component: bokehjs] Improve mappers' inheritance structure"," - #5694 [component: bokehjs] [component: tests] Report code coverage for bokehjs unit tests"," - #5819 [component: docs] Why i can't use operurl in widget callback (e.g. button callback)?"," - #5854 [component: bokehjs] Enable typescript's strictnullchecks"," - #5879 [component: examples] [component: tests] Make \"bokeh finished rendering heuristic\" work with non-plot examples"," - #5950 [component: docs] Expose all json representations in one place"," - #5951 [component: docs] Sphinxext.bokeh_plot broken"," - #6040 [component: docs] Callback.rst documentation incomplete"," - #6079 [component: docs] Clarify docs for hovertool"," - #6088 [component: examples] Fixing up examples/models/file/"," - #6102 [component: build] Have deploy script use github api token to avoid rate-limiting issues"," - #6113 [component: build] Pypi release includes `scripts`?"," - #6125 [component: bokehjs] Use nounusedlocals to discover unused imports, etc"," - #6129 [component: docs] Fix typo in issue_template.md"," - #6139 [component: bokehjs] [component: build] Use tslib to reduce size of bokehjs"," - #6145 Update obsolete output examples in bokeh.embed docs"," - #6158 [component: docs] For interactive legends, a note about `muted_color` would be helpful"," - #6164 Remove deprecations up to 0.12.3"," - #6184 [component: docs] Bokeh-api documentation improvement suggestions"," - #6188 [component: docs] Missing docstring description of ``state`` arg in bokeh.io.save"," - #6191 Fix deprecated datetime64 use for np_epoch"," - #6197 [component: bokehjs] Remove confusing aliases from layoutcanvas"," - #6228 [component: docs] Task: add missing `packaging` dependency to documentation requirements"," - #6242 [component: bokehjs] Task: remove computed properties implementation"," - #6245 Html title is not escaped"," - #6247 [component: bokehjs] [component: tests] Allow to write bokehjs unit tests in typescript"," - #6251 [component: bokehjs] [component: build] Allow to write bokehjs build files in typescript"," - #6254 Revert \"deprecate x/y_mapper_type plot kwargs in place of first-class scale models\""," - #6267 [component: bokehjs] [component: tests] Merge tests/common into tests/core"," - #6269 [component: docs] Bokeh-github directive should not check urls by default"," - #6274 Futurewarning from pandas in bokehjsonencoder"," - #6287 [component: bokehjs] Add migration note for removal of document.resize()"," - #6295 [component: build] Update manifest.in"," - #6309 [component: server] Report tornado version on bokeh server startup"," - #6317 Deprecationwarnings on python 3.6"," - #6323 Add bkcharts shim and dependency"," - #6325 Downstream url for dynamic_map.py has ssl issue"," - #6326 [component: bokehjs] Passing renderer object in cb_data on hovertool customjs callback"," - #6331 [component: docs] Re-building docs - keyerror gallery exception"," - #6336 [component: bokehjs] Silence all change signals during initialization of models"," - #6338 [component: server] Feature request: configurable maximum upload size for tornado server"," - #6385 [component: bokehjs] Rely on request_render and fix up cs code"," - #6387 [component: docs] Fixed typos in setup doc"," - #6408 [component: docs] [component: examples] General 0.12.6 examples and docs tasks"," - #6419 [component: bokehjs] Restore events for \"patch\", \"stream\" and \"do\""," - #6445 Bump required bkcharts version to 0.2","","2017-04-05 0.12.5:","--------------------"," * bugfixes:"," - #2058 [component: bokehjs] Point hit testing for rects broken with screen space widths"," - #2288 [API: charts] Handle nan as input to bar()"," - #2822 [component: bokehjs] [geo] [starter] Gmapplot resets to (0, 0)"," - #2964 [component: bokehjs] Gmap alignment still off in 0.10"," - #3461 [component: server] Notebook + server not working"," - #3737 [regression] Gmapplot doesn't display anything in jupyter v.4"," - #4135 [component: bokehjs] [component: build] Don't expose external typings beyond bokeh namespace"," - #4539 [component: tests] Js tests reporting as failed even when they all passed"," - #4667 [component: bokehjs] Arrow and line_width"," - #4722 [notebook] Curdoc().theme = theme(json=yaml.load()) is not applied to charts when used in jupyter notebook"," - #4835 Multiple gmap plots whiting out in notebook."," - #4875 [component: bokehjs] Graph 'running off'"," - #4952 Theme doesn't apply when using components"," - #4979 [component: bokehjs] [component: server] Cannot add renderers within a callback"," - #5063 [component: tests] Bokehjs tests are failing on regular basis"," - #5152 [component: examples] Wrong data shown in gapminder example app / slider update failing"," - #5185 [layout] [starter] Reset tool fails when figure passed width instead of plot_width, etc."," - #5336 [component: bokehjs] Strange behaviour of rect-glyph"," - #5353 [component: bokehjs] Extensions do not render when using bokeh.embed.components / bokeh.embed.file_html apis"," - #5416 [component: bokehjs] Multiple model sync in one callback can fail"," - #5488 [component: bokehjs] [starter] Hide annotations via callback"," - #5582 [component: server] --num-procs x and curdoc().session_context.request.arguments don't go well together"," - #5629 [component: server] [starter] Bokeh server reports \"none\" port when there is a port conflict."," - #5644 Hasprops.apply_theme does not work on container values"," - #5670 [component: tests] Integration test reports are garbled"," - #5695 [component: docs] Typo in palettes docs"," - #5700 [component: bokehjs] Safe-tag-fix"," - #5706 [API: plotting] Bokeh 0.12.4: columndatasource does not work anymore with bokeh.plotting.image"," - #5720 [component: bokehjs] [component: tests] [regression] It's not possible to debug tests anymore since #5659"," - #5731 [component: tests] Tests broken again, this time due to `attributeerror`"," - #5732 [component: bokehjs] [widgets] Datatable not wired up to respond to streaming patching"," - #5742 [component: examples] Missing template in flask_embed.py and tornado_embed.py"," - #5778 [component: bokehjs] [regression] Autoload_static uses jquery .data()"," - #5789 [component: tests] Some integration tests fail when run with python 2.7"," - #5818 [component: build] Conda convert windows packages cause an error"," - #5848 [component: server] Memory leak in bokeh application"," - #5861 [component: bokehjs] [regression] Instance of figure class in bokehjs does not have reference to xaxis and yaxis"," - #5887 [component: docs] Transform docstring ends abruptly"," - #5888 [component: tests] [regression] Tests/examples/examples_report_plugin.py assumes clone has a remote named origin"," - #5891 [component: docs] Dev_guide/server.html has broken link to user_guide/server.html"," - #5900 [component: bokehjs] Attempt to make layout less fragile"," - #5905 Embed components performance"," - #5910 [component: build] All ci jobs failing due to some change affecting js compilation"," - #5916 Cannot import from .ts in a custom extension"," - #5921 [component: bokehjs] Fix for small bug in array intersection method"," - #5936 [component: bokehjs] [component: build] Bokehjs builds are broken because of dependency update"," - #5954 [component: bokehjs] [regression] Latex label example is broken in dev docs"," - #5956 [component: docs] [regression] Sphinxext.bokeh_plot missing linenos option implementation"," - #5959 [layout] [regression] Notebook comms \"basic usage.ipynb\" broken"," - #5963 [component: bokehjs] [regression] Js error on callback"," - #5977 Themes aren't applied to document when using `save`"," - #5986 [component: bokehjs] Bug with firefox hover tool coordinates"," - #6006 Toolbar tooltips are blank in examples/app/crossfilter"," - #6012 Importing bokeh.models creates zombie process"," - #6014 [component: build] [regression] Sdists prompting for bokehjs build will block pip installs"," - #6015 [component: bokehjs] Fixed bug in model._process_event method"," - #6018 [regression] Hover tool broken due to undefined roundingfunction"," - #6023 [component: server] Accept server connections from any origin"," - #6030 Boxzoomtool and boxselecttool doesn't clear the overlay when end event is off the plot frame"," - #6032 [component: bokehjs] [regression] Multiple selections via shift+select don't work"," - #6037 [notebook] [regression] Repeatedly displaying a plot degrades performance"," - #6045 [component: examples] Fixed hover on gapminder to display country"," - #6051 [component: bokehjs] [regression] Middle and bottom plot won't pan in y-dimension in custom/gears/gears.py demo on firefox"," - #6054 Issues with examples/plotting/server/animated.py"," - #6059 [component: server] Python event callback not called if no js event callback is registered"," - #6063 [component: docs] Fixed href"," - #6069 [component: docs] Fixed broken link to gapminder example"," - #6075 Resettool does not trigger change events on range1d"," - #6100 Correct cursor handling"," * features:"," - #2274 [component: bokehjs] Interactive legends"," - #2414 [starter] Use [non]selection_glyph=\"auto\" to generate automatically, not none"," - #3715 Interactively hide or show lines after plot finished by clicking (without re-ploting like plot browser feature in matlab)"," - #3748 [component: bokehjs] [component: server] Trigger python event when `level_of_detail` mode finishes"," - #4241 [component: docs] [starter] Create a custom 404 page for bokeh docs"," - #4694 [component: bokehjs] [starter] Angle of glyphs in legend doesn't match glyphs in plot"," - #4927 [component: bokehjs] [starter] Event handler for width/height change of plot"," - #5015 [component: bokehjs] [starter] Customjstransform"," - #5278 [component: bokehjs] [component: server] Feature: emitting tool and ui events and attaching callbacks"," - #5442 [component: bokehjs] [starter] Add scale control to gmaps"," - #5592 [component: bokehjs] [geo] [starter] Gmapoptions are not dynamically applied"," - #5692 [component: server] make it possible to use relative urls"," - #5973 Cds creation from dataframes should not use tolist()"," - #6043 Avoid isinstance checks in _visit_value_and_its_immediate_references"," - #6055 Use math library instead of numpy for nan/inf checks"," * tasks:"," - #2933 [component: bokehjs] Use only `div` and `canvas` in the generated html"," - #2940 Gmapplot coordinate axes"," - #3210 [component: bokehjs] [component: server] [widgets] Improvements to events"," - #3270 [API: charts] General charts examples improvements"," - #4111 [component: bokehjs] [component: tests] [regression] Check js logs in tests"," - #4285 [component: tests] Testing infrastructure bug/wish list"," - #4321 [component: bokehjs] [webgl] Put webgl functionality in separate bokeh-gl.js?"," - #4854 Code of conduct needed"," - #5060 Limit imports of client/server code to only when necessary"," - #5102 [component: bokehjs] Hovertool tooltip css is vunerable to being overridden by other page css"," - #5121 [component: bokehjs] [component: tests] Fix skipped js tests as result of getter/setter work"," - #5174 [component: bokehjs] [starter] Task: support updating computed transforms fields if dependencies change"," - #5209 [component: build] Stop building noarch conda packages"," - #5232 [component: tests] Intermittently failing examples tests - ggplot_density and graphs"," - #5238 [component: build] [component: docs] Help make examples more visible and easy to use"," - #5254 [component: bokehjs] [component: examples] [component: tests] Examples involving transforms using math.random() fail image diff"," - #5495 [component: docs] [component: server] Document non-script and programmatic use"," - #5541 [component: build] Label image diff results \"expected\" vs \"actual\""," - #5613 [component: build] Windows setup.py build from source and versioneer"," - #5625 [component: bokehjs] Drop jquery from core bokehjs"," - #5638 [component: docs] Examples / charts/ readme states incorrect location for jupyter notebook example code"," - #5640 [component: examples] New app example: exploding pivot charts"," - #5647 [API: charts] Make the default hover tooltip work for donut charts"," - #5664 Remove old deprecations"," - #5666 [py3] Python 3.6 compatibility"," - #5677 Permission denied error when invoking show() from inside jupyter notebook"," - #5679 [component: build] Deploy script should automatically create and upload examples tarballs"," - #5691 [component: docs] Fix a typo in layoutdom"," - #5699 [component: examples] Not necessary loop in weather example?"," - #5704 Move abstract out of properties.py"," - #5705 [notebook] Print bokeh version in notebook \"bokehjs loaded\" message"," - #5710 [API: models] Deprecate bokeh.models.layouts hbox and vbox"," - #5712 [component: tests] Make sure examples' tests wait until bokeh finished rendering"," - #5718 [component: docs] Bad formatting in selected docstring"," - #5726 [component: bokehjs] Tooltip font color can be turned white by outside css because it's not specified by bokeh"," - #5729 [component: bokehjs] Use only what we need from underscore"," - #5748 [component: tests] Bokehjs/examples/electron/node_modules interfere with code quality tests"," - #5754 Revert \"clean up and refactor build\""," - #5756 Revert \"bryanv/refactor build\""," - #5757 [component: bokehjs] [component: build] Remove bokehjs/src/vendor/kiwi and use bokeh/kiwi"," - #5759 [component: docs] Typo in axes docs"," - #5770 [component: build] Bryanv/build fixups"," - #5771 [component: build] Break up conda operations to prevent timeout"," - #5772 [component: build] Need to call chdir for persistent effect"," - #5773 [component: build] Fix path for css upload"," - #5775 [component: build] Try token with repr, add some diagnostics"," - #5776 [component: build] Globs don't work in subprocesses w/o shell=true"," - #5777 [component: build] Correctly implement put"," - #5787 [component: build] Pin mpl \u003c 2.0"," - #5788 [component: docs] Migration notes and exceptions about mpl compat."," - #5793 Bokeh calls logging.basicconfig()"," - #5796 [component: docs] Bokeh 0.12.4 needs python 3.3 but this isn't documented anywhere"," - #5799 Revert \"fix rect rendering with log axis\""," - #5810 [component: bokehjs] Don't rely on typedarray.map"," - #5822 Hovertool for last value of a line plot sticks on second last value (works fine with circles)"," - #5826 [API: models] Add bokeh.plotting.gmap to create gmapplot correctly and easily"," - #5827 [component: build] Restore pip installable dev builds"," - #5834 [component: docs] Need to use different sintaxis when using command \"bokeh serve\" in windows command line"," - #5835 [component: examples] County data: most independent cities in virginia have 'city' left out, which causes confusion when trying to match based on county name"," - #5858 [component: docs] Update install.rst documentation"," - #5871 [API: models] Columndatasource constructor slow"," - #5878 [component: examples] Move models' file examples and add migration notes"," - #5880 [component: tests] Flake8 everything"," - #5882 [component: bokehjs] [component: examples] [component: tests] Test bokehjs/examples and run them on travis ci"," - #5895 [component: docs] Give feedback on bokeh server docs"," - #5896 [component: docs] Typo corrections and clarifications for user_guide/server (#5895)"," - #5902 [component: docs] Typo (missing comma) in example code for labels"," - #5915 [component: examples] Including the color option in the embed simple example"," - #5928 [component: tests] Test_api_crawler assumes it is run in the source directory"," - #5930 [component: bokehjs] Align bokehjs' imports with custom models"," - #5934 [component: bokehjs] Enable typescripts' noimplicitany"," - #5946 [component: build] [component: tests] Disable saucelabs tests for now"," - #5947 [component: build] [component: tests] Re-enable saucelabs tests"," - #5965 [component: bokehjs] Legend should have pointer cursor only when `click_policy != \"none\"`"," - #5969 Tweak defaults for interactive legend inactive labels"," - #5989 Remove deprecated output_server"," - #5998 [component: build] Update docs upload to work now that host site is behind cloudflare"," - #6010 Revert \"deprecate mpl compat\""," - #6016 [component: examples] Sprint prints nan for seleted names set to none"," - #6024 [component: bokehjs] Use `throw new error(...)` instead of `throw error(...)`"," - #6036 [component: examples] Updating embed examples"," - #6039 [component: examples] When embedding with autoload into a page with a different public url need relative_urls=false"," - #6048 [component: docs] Leveraging other libraries should include datashader"," - #6058 [component: examples] Added a tiler with a valid url for second plot in plotting/file/airport_map"," - #6066 Change default for"," - #6071 [component: examples] Update element names and symbols in elements.csv","","2017-01-09 0.12.4:","--------------------"," * bugfixes:"," - #525 Columndatasource.prototype.get_length gives arbitrary results"," - #2064 Tooltip not working when inverting an axis by passing a `y_range` argument to the figure"," - #2162 Plotting none/nan values fails with log scale axis"," - #2365 [component: examples] Compat/seaborn/sinerror.py is broken"," - #2789 [component: docs] [starter] Range padding possibly discards the log axis properties"," - #3315 [API: charts] Overlapping bins in bokeh charts histogram example"," - #3834 Plot is empty when log scale is used"," - #3931 [component: docs] Update datetimetickformatter docstring with actual default formats from the js side"," - #4602 [API: charts] No x-axis labels on bar graphs with a single bar"," - #4680 [component: bokehjs] [widgets] Datatable header height not large enough to fit header text - in jupyter notebook"," - #4861 [component: bokehjs] Hovertool showing canvas coordinates not data coordinates"," - #5305 [component: docs] [component: examples] [component: server] Embed/animated fails with \"did not find model\""," - #5306 [component: examples] [py2] Embed/embed_multiple fails with unicode error on py2"," - #5315 [component: examples] [component: server] [regression] Extension implementation load path problems in apps"," - #5318 Make figure accept title instance"," - #5322 [component: bokehjs] Long \"bokeh error\"s don't wrap"," - #5323 [component: bokehjs] Colormapper special colors are not respected for images"," - #5324 Colormapper high, low and nan_color do not accept rgb(a) tuples"," - #5330 Syntax error in util/deprecation.py"," - #5333 [component: bokehjs] Document._destructively_move() (in bokehjs) references undefined variable"," - #5337 [component: bokehjs] Charts and plots not rendering with user defined title text_font_size in em"," - #5346 Embedding a server plot will override the window title"," - #5370 [component: bokehjs] Linearinterpolator does not work correctly"," - #5377 [component: docs] Correct comment in dimension example plot"," - #5382 [component: bokehjs] Help tool icon doesn't have transparent background"," - #5389 Creating a line plot with `x_axis_type='log'` fails when `x_max \u003c 1`"," - #5392 [component: bokehjs] [regression] Tools cause hard crash on safari after import/export pr"," - #5398 Datatable css conflict with bootstrap css"," - #5404 Functickformatter.from_py_func() example valueerror"," - #5413 [component: bokehjs] Can't use categorical axis with figure using rects"," - #5453 [py2] Tabe completion on bokeh.palettes doesn't work in python 2"," - #5467 [component: docs] Docstring not reflecting correct function signature"," - #5479 [layout] Merged toolbar is not created properly when row/column layouts added to gridplot"," - #5490 Some named palettes raise valueerror"," - #5522 [component: docs] Bokeh doc website not rendered correctly in ie 11 on win 7"," - #5524 [component: server] [regression] --num-procs broken"," - #5526 [component: bokehjs] Some versions of ie 11 do not support unit8clampedarray"," - #5546 [component: bokehjs] Js column length check logic is backward"," - #5549 [component: bokehjs] Correctly handle data values \u003c= 0 on a log scale"," - #5555 [component: bokehjs] [regression] Bokehjs' examples are broken after import/export pr"," - #5558 [notebook] [py2] [starter] Unicode `__javascript__` external resources breaks output notebook in python 2"," - #5570 [component: bokehjs] Output_notebook raises javascript error if hide_banner=true"," - #5576 [component: bokehjs] Initial range calculation for log plots can cause empty plots"," - #5585 [component: server] Responsive plots don't work with server because of plotdiv"," - #5590 [component: server] Python 2 incompatibility issue with execfile and bokeh server"," - #5591 [notebook] [regression] Custom models don't work in the notebook due to missing __file__"," - #5631 [component: build] [regression] Pin build job to py3.4"," - #5633 [component: build] [regression] Update .travis.yml"," - #5636 Patches incorrectly draws boundaries from geojsondatasource in latest development version on a bokeh server"," - #5645 Font-awesome custom example fails to run"," - #5655 [component: bokehjs] [regression] 0.12.3 resize tool uses plot_width for initializing plot_height"," - #5661 [component: bokehjs] Tool labels appears empty on hover"," * features:"," - #1448 Gridplot could allow 1d child sequence together with (n, m) tuple"," - #1996 Rangeslider needed (again)"," - #2016 [component: bokehjs] X_range = 'auto' with bokehjs"," - #2204 [component: bokehjs] [component: server] [notebook] Look into use of dataviews and arraybuffers for more efficient data send/recv"," - #2833 Using hovertool to display arbitrary html"," - #3817 Toolbar improvements: replace inspector dropdown"," - #5000 Warn on ragged length values in columndatasource"," - #5199 [API: models] Add support bokehjs writable and bokeh readonly properties"," - #5317 Add a colorblind and d3 palettes"," - #5329 Ability to remove tools from plot generated by mpl.to_bokeh"," - #5417 [component: bokehjs] [widgets] Extend textinput with `placeholder`"," - #5435 [component: bokehjs] [enh] add js callback for streaming data"," - #5446 [API: plotting] [component: docs] Improve glyph method function signatures"," - #5471 [component: bokehjs] [enh] add custom classes to elements"," - #5579 [component: bokehjs] [widgets] Adding size attribute to multiselect model"," - #5583 [component: server] [starter] Custom context arguments for the jinja template"," * tasks:"," - #3020 [component: docs] [component: tests] Stricter docs build testing"," - #4290 [component: bokehjs] Clean up toolbar's css"," - #4652 [widgets] Remove broken dialog"," - #4774 [component: docs] Docs: google maps down"," - #4778 [component: docs] Docs: add to reference landing"," - #4785 [component: tests] Clean-up use of saucelabs connect on travisci"," - #4877 [component: docs] Need to include imagesource to docs"," - #4918 Using a custom json encoder"," - #4920 The documentation for `bokeh.plotting.figure` does not describe how to set the axis labels"," - #4991 [component: docs] [starter] Palette option for image/image not documented"," - #5112 [component: docs] [component: examples] [starter] Add an example using categoricalcolormapper and legend"," - #5190 [component: docs] Migration code for 0.12.2 not runnable"," - #5292 Inconsistent legend location naming"," - #5320 [component: bokehjs] [component: build] Use es6 import/export syntax instead of require()"," - #5325 [component: build] Improvements to deploy script"," - #5326 [component: examples] Examples with deprecation warnings"," - #5335 [component: examples] Depreciated example"," - #5339 [component: bokehjs] [component: build] Remove src/vendor/font-awesome and use npm"," - #5360 Better deprecation path for extensions"," - #5362 [component: build] Remove old bokeh-server"," - #5372 [component: server] Remove develop mode stub"," - #5375 [component: tests] [notebook] Notebook image diff tests broken due to \"missing kernel\""," - #5376 Change palette references for the brewer qualitative palettes to be slices"," - #5384 [component: docs] Small docs fixes"," - #5395 [component: build] Please consider adding classifiers to setup.py"," - #5400 [component: examples] Add imdb usage notice to movies app"," - #5403 [component: docs] Hbar and vbar need to be added to the user guide"," - #5408 [component: docs] [component: server] Server architecture in dev guide has several out of date links"," - #5411 [component: docs] Document x_axis_location parameter to figure"," - #5423 [component: bokehjs] Prefer const over let in *.ts"," - #5445 [component: server] If main.py is run by bokeh serve, warn about running with directory name instead"," - #5450 [component: bokehjs] Add support for *.tsx source files"," - #5455 [component: tests] Outside pr docs test fails due to missing google api key"," - #5461 [component: docs] Add svg logo"," - #5492 [component: server] Support --port 0 for random port"," - #5493 [component: server] Avoid calling sys.exit in server code"," - #5494 [component: server] Bokehtornado.stop should not stop the ioloop"," - #5507 [component: bokehjs] Replace underscore's functions with native methods were possible"," - #5513 [component: bokehjs] Consider externalizing font-awesome's icons (or removing altogether)"," - #5514 [component: bokehjs] Further slim down boostrap"," - #5517 [component: docs] Small fixups to make sphinx 1.5 work"," - #5532 [component: bokehjs] Deprecate bokeh.$ and bokeh._"," - #5536 [component: bokehjs] Replace `@$(...)` with `@$el.find(...)`"," - #5553 [component: tests] Test custom models' examples"," - #5557 [component: build] [component: docs] [starter] Use python3 version of fabric"," - #5560 Get selenium testing working locally"," - #5562 Correctly deprecating imagergba cols and rows properties"," - #5567 [component: build] Explicitly kill stray processes on travis"," - #5568 [component: bokehjs] [component: build] Upgrade to jsdom 9.x"," - #5578 [API: plotting] [starter] Auto-conversion to columndatasource"," - #5587 [component: docs] Docstring typo"," - #5595 [component: docs] [component: server] Getting bokeh to work behind apache"," - #5602 [component: docs] Document dataspecproperty"," - #5607 [API: charts] Add vbar and hbar glyphs to charts"," - #5609 Investigate removing autoadd, autosave, autopush"," - #5619 [component: docs] Improve palettes docs and docs automation"," - #5626 [component: docs] Split up properties.py"," - #5627 [component: docs] Split up reference docs for bokeh.core"," - #5649 Add nodejs and npmjs version numbers to `bokeh info`","","2016-10-07 0.12.3:","--------------------"," * bugfixes:"," - #2415 Trying to render the same plot twice is failing"," - #4347 [API: charts] Hover in charts not displaying data"," - #4616 Cannot edit cells in datatable"," - #4897 [component: docs] Subsections of user guide/adding interactions are rendered twice when selected in site guide"," - #4926 [regression] Autoload_static seems to be broken in version 0.12"," - #5029 Importing us county data fails on 3.5"," - #5107 [component: docs] Bokeh.pydata.org warns that searching 0.12.1 is old but latest isn't pointing to 0.12.2 yet"," - #5113 [component: bokehjs] Vbar / hbar legend missing glyphs"," - #5118 Gmapplot error attributeerror(\"'basicproperty' object has no attribute 'from_json'\",)"," - #5119 Non-server bokeh requires tornado"," - #5123 Vbar hover tooltip not working in master"," - #5125 [component: bokehjs] [component: build] Bokeh npm install"," - #5130 [component: docs] Correct typo in the notebook docs"," - #5132 [component: build] Deploy.sh version update fails when last version is a full release"," - #5134 [component: bokehjs] [regression] Fix bad merge"," - #5156 Session.show() does not take into account browser"," - #5170 Viridis6 appears to be reversed"," - #5188 [component: bokehjs] Glyphview should not extend rendererview"," - #5202 [API: plotting] [regression] Figure legend not merging glyphs on the same data"," - #5218 [API: plotting] [component: bokehjs] [regression] Bokehjs plotting api is broken after pr #5017"," - #5223 [component: docs] Span annotation rejects `x` or `y` for `dimension` argument"," - #5234 [API: models] Plot not shown if datetimetickformatter partially defined"," - #5235 Wheel zoom is centers on center-of-plot, not mouse"," - #5239 [component: docs] Bokeh.models.transforms not in reference guide"," - #5248 [component: bokehjs] [regression] Add a polyfill for math.log1p() that's not supported by ie"," - #5260 [component: bokehjs] [memory] [regression] Plot updates cause heap to grow massively"," - #5271 [component: docs] Docserver.py input causes a syntaxerror"," - #5288 [component: docs] Typo in the legend location docs, and why \"right_center\" instead of \"center_right\"?"," - #5291 [component: docs] Docserver.py fix"," - #5294 [component: bokehjs] [layout] [regression] Responsive layouts broken in master"," - #5302 [component: examples] [component: server] [py2] Bokeh serve --show app/gapminder doesn't work"," - #5304 [component: examples] [component: server] [regression] App/surface3d doesn't work because custom model path is wrongly resolved"," * features:"," - #647 Support latex labels"," - #820 Split bokehjs in multiple plugins"," - #916 [starter] Add zoom button that allows zoom by steps"," - #1589 Bokehjs and node.js integration"," - #2381 Plainer default tooltip styling"," - #2590 [component: bokehjs] [webgl] Ongoing webgl related dev"," - #3856 [component: bokehjs] Populate legend with rows of data"," - #4621 Add `args` parameter to `functickformatter` similiar to `customjs`"," - #4886 Allow user defined models to inherit from user defined models"," - #5011 [component: bokehjs] [starter] Colormapping - color values out of high/low"," - #5013 Discrete/categorical colormapper and colorbar"," - #5153 [API: models] Implement _repr_pretty_ on hasprops and model"," - #5164 [API: models] Add support for _repr_html_ to hasprops and model"," - #5175 [component: bokehjs] [widgets] Slider with no title (feature request)"," - #5204 [component: bokehjs] Feature: support passing suggested width/height to document.resize method"," - #5242 Import_optional isn't robust to all import failures"," - #5255 [API: charts] Boxplot: outlier_line_color missing in default_attributes of boxplotbuilder"," - #5279 [API: models] Extensions cannot use own `.eco` templates as compiler won't compile them"," * tasks:"," - #2056 [starter] Deprecate glyph functions accepting datasource and sequence literals simultanously"," - #4526 [API: models] Remove \"legend\" prefix in some of legend's properties"," - #4879 Remove gear glyph from bokehjs to shrink resource size"," - #5076 [component: tests] [starter] Remove yield tests"," - #5083 [API: plotting] [component: docs] [starter] Add example using hbar/vbar to make bar charts"," - #5106 [component: bokehjs] Replace mget/mset/get/set with getters and setters"," - #5110 Revert \"add categorical color mapper\""," - #5116 [component: bokehjs] Make hasprops.id a first class citizen"," - #5124 [component: bokehjs] Replace \"else if\" with switch statement"," - #5148 [component: examples] Imdb typo in movies app example readme"," - #5159 [component: build] Py.test should use phantomjs from bokehjs/node_modules/.bin by default"," - #5160 [component: bokehjs] Deprecate backbone.model.{get,set}()"," - #5165 [component: bokehjs] Bring some structure to our *.less sources"," - #5167 [component: bokehjs] Replace obj.unset('prop_name') with obj.prop_name = null"," - #5168 [component: build] Revert \"pin conda-build version to 1.21.14\""," - #5171 [component: bokehjs] Replacing jsnlog"," - #5180 Deprecation warning with matplotlib-2.0.0.b4 and bokeh 0.12.2"," - #5182 [component: bokehjs] Move js palettes to bokeh-api.js"," - #5211 [component: bokehjs] [component: build] Upgrade timezone dependency and remove timezone from vendor"," - #5216 [component: bokehjs] [component: build] Upgrade to typescript 2.0"," - #5236 Unify and simplify deprecation of things"," - #5250 Change 0.12.4 deprecations to 0.12.3 due to delayed release"," - #5251 Change indentation to 2 spaces in *(.d).ts files to match other bokehjs sources"," - #5258 [component: docs] Double ended sliders extension example"," - #5262 [component: docs] Dev_guide/notes.rst wasn't updated in a year or more"," - #5263 [component: bokehjs] Move common/* to core/* and merge util/ with core/util/"," - #5264 [component: bokehjs] Split off backbone.events and don't depend on backbone.model if not necessary"," - #5277 [component: tests] With --rerun, bokehjs test harness needs to reset directory"," - #5284 Missing ts api for logcolormapper and categoricalcolormapper"," - #5299 [component: build] Use our own bokeh channel and avoid using conda-forge"," - #5312 [component: examples] Clustering app example does not set .data atomically"," - #5319 [component: docs] Issues release notes","","2016-09-06 0.12.2:","--------------------"," * bugfixes:"," - #4612 Updating of image colormapper"," - #4855 No fill for background and border doesn't work"," - #4903 [component: build] [regression] Deploy.sh needs explicit list of files updated"," - #4936 [component: bokehjs] Lasso select is broken with non-circle markers"," - #4949 Specifying a selection doesn't work with patches when hit testing tools are present"," - #4950 Non-deterministic ordering of css resources for external resource loading"," - #4960 [component: examples] Examples/models/* aren't validated"," - #4970 [API: charts] Box plot example fails if no outliers exist in data"," - #4984 [component: bokehjs] H_units=\"screen\" and w_units=\"screen\" not respected in imageurl"," - #4987 [notebook] [regression] Problem with 'run all' in jupyter notebooks with bokeh 0.12.1"," - #4992 Colorbar places axis labels incorrectly in some circumstances"," - #4993 Colorbar - setting outline_line_alpha=0 on plot causes bar to not appear"," - #4996 Labelset's text color not updating properly on changing column data source"," - #4998 [component: bokehjs] Typo in arrow.coffee"," - #5006 [component: docs] Remove trailing whitespace"," - #5010 Colormapping - support nan's and data lower than low"," - #5035 [component: bokehjs] Auto-range on vbar and hbar doesn't work"," - #5040 Rendered notebooks not working on nbviewer"," - #5056 Colorbar not working in safari"," - #5074 [component: build] [component: server] Bokeh-0.12.1-py27_0 conda package from defaults missing server/views/app_index.html"," - #5081 [notebook] Plots do not load upon reopening a notebook if notebook handle created"," - #5084 Conda-build 2.0.0 doesn't build noarch packages"," * features:"," - #1441 Colorbar axis"," - #2270 [component: examples] Hide/show image layers"," - #3110 [component: bokehjs] Multi_line and selection callback"," - #4127 [component: bokehjs] Specifying external urls for resources"," - #4828 [component: server] Feature: make get arguments available for bokeh server apps"," - #4906 New feature: hide tooltip arrow"," - #4924 [component: bokehjs] Tooltips unavailable for `vbar` and `hbar` glyphs"," - #4961 [component: bokehjs] Don't end up with white screen under an unhandled exception"," - #4981 Support a colormapper as a data transform"," - #4990 Colorbar default direction should be reversed"," * tasks:"," - #3859 [component: docs] Update technical vision part of docs to reference new data shader repo"," - #3927 [component: tests] More gracefully handle running integration tests for external contributors"," - #4737 [component: examples] Spectrogram example improvements"," - #4824 [component: tests] Devdeps.py doesn't check for test dependencies"," - #4840 Implement quantifiedcode suggestions"," - #4869 [component: docs] [starter] User guide \"responsive dimensions\" needs updating"," - #4882 [component: bokehjs] Fixed version in version.coffee causes constant \"version mismatch\" warning"," - #4891 [component: build] Crawl and list all public functions, classes, methods"," - #4892 [component: build] Compare public api across versions"," - #4928 Checkbox example is not working as expected"," - #4938 [component: docs] \"getting set up\" section of documentation does not mention the base dependencies of bokeh"," - #4959 [component: tests] Imageurl example fails"," - #4976 [component: bokehjs] [component: build] Split off bokehjs js/ts api"," - #4989 Add colorbar public js api definition"," - #5001 [component: docs] Availability of cdn resources via https"," - #5008 Make default hover styling match other default styling"," - #5016 Remove unused reserve_val, reserve_color"," - #5042 [API: models] Disallow set type in `columndatasource.data`"," - #5061 Minor: box plot example indexing"," - #5077 [component: tests] Disable integration tests for external contributors"," - #5096 [component: docs] [notebook] Notebook comms and push_notebook docs are not up to date","","2016-07-28 0.12.1:","--------------------"," * bugfixes:"," - #1277 Syncing two input widgets without infinite callback loop"," - #1618 Toolbar buttons do not work on updating server plots"," - #1716 Help tool: hard/impossible to click \"learn more\" link"," - #2289 Glyph/buttons_server.py dropdown red button looking bad (cut) in chrome"," - #2291 [component: bokehjs] Gyphs/widget_server.py column size"," - #2488 Building the conda recipe does not work on windows"," - #3041 [component: examples] [component: tests] Scikit-learn is needed by examples/plotting/file/clustering.py"," - #3188 [component: build] Installing dev build through pip, receiving standard release instead"," - #3509 Image glyph does not work with server"," - #3639 Bokeh occasionally not working with jupyter notebook"," - #3771 Bokehjs - get_model_by_name() - multiple name error"," - #4329 [component: tests] Test defaults does not report correct mismatched defaults"," - #4525 Shout louder on bokehjs build fails"," - #4560 Resize tool mostly broken"," - #4679 [component: bokehjs] [webgl] Draw legend after webgl glyphs"," - #4692 [component: docs] Docs version dropdown has extra 0.11.1"," - #4693 [regression] Incorrect rendering of embedded bokeh server app in 0.12"," - #4716 [API: models] Typo in bokeh.models.tools.taptool `behavior` attr default"," - #4727 [component: docs] First example in quickstart missing output_file"," - #4730 [component: tests] [regression] Restore real flake8 test failure"," - #4731 [component: docs] Fix documented name for resizetool"," - #4753 [component: examples] Typo in categorical example plot title"," - #4759 Reset button no longer appears on gridplots"," - #4760 [component: bokehjs] Rbush 2.0.1 bug on image render"," - #4766 [component: docs] Bokeh.client example in user guide has a bug"," - #4781 Remove unused import"," - #4783 [component: server] Using functools.partial in combination with add_next_tick_callback() throws exception in py2"," - #4788 [component: docs] Stocks example github link is broken in gallery.rst"," - #4791 [component: docs] Docstring of ``add_tools`` not correct"," - #4793 [component: bokehjs] [regression] Ellipse glyph missing rbush bounds format update"," - #4795 [component: bokehjs] [webgl] Webgl line thickness scales inappropriately with browser zoom level"," - #4800 [component: bokehjs] [widgets] Multiselect not rendering correctly if `options` is `list(dict)`"," - #4806 [component: docs] Update add_glyph docstring"," - #4814 Add npm install to win build; add nodejs to win build deps"," - #4816 [component: docs] Docs fail to build on windows"," - #4834 [component: bokehjs] [regression] Hoover example from tutorials doesn't work"," - #4839 Error when using hovertool and taptool with taptool in \"inspect\" behavior"," - #4842 [component: docs] Fixes typo: \"go\" -\u003e \"of\""," - #4853 [layout] Hovertool does not show tooltip of last glyph"," - #4862 Wheel zoom not working on chrome on touchscreen laptops, when using scroll wheel"," - #4878 [component: bokehjs] Inline from bokeh.resources has broken js?"," - #4884 Bokehjs fails to load for inline in notebook due to duplicated int32array"," * features:"," - #673 Trim bokehjs size and reduce code duplication"," - #1191 [starter] Deprecate `notebook=true`"," - #1944 Bokehjs should validate values on `@set(value)`"," - #2610 [component: examples] Improve les mis example"," - #3347 Larger color ranges (particularly gray scale)"," - #3423 [API: models] [component: bokehjs] [component: examples] Add vbar and hbar glyphs"," - #4758 Bokeh.palettes missing qualitative brewer color maps"," - #4775 [feature] add cartodb positron tile provider"," - #4808 [component: bokehjs] [component: server] Add .patch method for efficient partial data source updates"," - #4866 Add visible property to glyph renderer"," * tasks:"," - #2193 [component: server] Bokeh server deployment: generic linux server"," - #2683 [component: bokehjs] [webgl] Our webgl support does not work very well on safari"," - #2933 [component: bokehjs] Use only `div` and `canvas` in the generated html"," - #3006 [component: tests] Conda install test dependencies for osx"," - #3008 [starter] Warn about version mismatches"," - #3078 [component: docs] Move annotations section of user guide into it's own page"," - #3383 [API: charts] Remove io logic from charts"," - #3511 [component: tests] [starter] Get basic tests working on windows"," - #3528 [component: bokehjs] [component: build] [component: tests] [starter] Add a test to make sure that bokeh*.js don't increase significantly in size"," - #4533 Run test_code_quality with flake8 group"," - #4691 [component: bokehjs] Update rbush version"," - #4701 Improve pypy compatibility"," - #4743 [component: docs] Bokeh docs heatmap example broken"," - #4755 Feature request: make tool coalescence optional in gridplot"," - #4779 [component: bokehjs] Jqui 1.12 breaks everything, pin to old version"," - #4809 [component: docs] Split interaction.rst into three sections"," - #4831 Revert \"moved the wheel speed zoom from internal to defined.\""," - #4845 [component: docs] Remove 0.8 and 0.9 links in docs dropdown"," - #4846 [component: docs] Only update cds .data \"all at once\" in docs"," - #4849 [component: docs] [starter] Docs should have descriptive page titles"," - #4889 [component: build] Simplify changelog"," - #4895 [component: docs] Made a couple copy edits to user guide pages"," - #4896 [component: docs] 0.12.1 release notes","","2016-06-27 0.12.0:","--------------------"," * bugfixes:"," - #1256 Vbox doesn't work properly under ie"," - #1445 Changing title on sliders example disables crosshair tool"," - #1642 Selection tools not working with scatter chart"," - #1710 [component: examples] App drop-downs under firefox are the wrong size"," - #1848 Tools not working on gallery - windows 7 + chrome 40.0.2214.111 m"," - #2006 Unable to stack multiple twin axis on same side"," - #2081 Title_text_align plot property behaves strangely"," - #2229 Broken reset tool after use of resize tool"," - #2277 Matplotlib to bokeh conversion discards category labels"," - #2284 Hbox not working properly with plots"," - #2297 [starter] It's possible to extend the lasso tool outside the bounds of a plot"," - #2344 Appvbox: width has no effect (firefox)"," - #2350 [widgets] Hbox/hplot not working in ipython notebook"," - #2504 [widgets] Datatables spills out on server rendering (on ff)"," - #2525 [component: bokehjs] Setting glyph color to none results in an array of nan's"," - #2534 Embed.component log chart axis label messy"," - #2549 [component: docs] Dropdown button example partially hidden in user guide"," - #2622 [component: docs] List of color tuples broken?"," - #2699 Rendering error on line when super zoomed in"," - #2977 Stock_app errors and fixes"," - #2997 Touch problems on all but the simplest cases"," - #3004 Line tooltip appears when hovering off the line"," - #3073 [component: examples] Sliders demo uses unminified resources"," - #3120 Nan in data causes hover to break if formatter applied"," - #3130 Bokeh does not plot pandas boxplot correctly using mpl.to_bokeh()"," - #3134 When plotting pandas dataframe in ipython notebook, mpl.to_bokeh(), dates on axis are displayed as numbers"," - #3215 Bokeh + ipython widgets: push_notebook() error?"," - #3226 [component: bokehjs] Text_color does not respect `none`"," - #3252 Button or toggle.disabled=true does not gray out the button or toggle"," - #3303 Layout can allow plots to overlap"," - #3329 [component: docs] Docs suggest that add_tools() takes shorthand strings, but it doesn't"," - #3434 [component: bokehjs] [starter] Band fill color issue display"," - #3464 [component: bokehjs] Maps_cities.py data disappears after pan/zoom"," - #3546 [API: charts] Charts + bokeh server: scatter plot added twice"," - #3563 [component: bokehjs] Setting min_border does not work"," - #3576 Bokeh histogram attribute density doesn't work"," - #3581 [component: bokehjs] [component: build] Cannot find module _process error on bokehjs build"," - #3610 [component: examples] Embed examples and airports_map broken on win"," - #3611 [component: examples] Examples/plotting/file/image examples broken on win"," - #3612 [component: examples] Plotting/file/line_compare second combo (\"line join\") does not work on win"," - #3615 [component: examples] [component: server] Plotting/server/geojson broken on windows"," - #3616 [API: charts] [component: examples] Charts/timeseries (step) chart is broken on windows"," - #3620 Lots of warnings when using bokeh in notebook"," - #3659 [API: charts] Histogram bin size auto select"," - #3660 [API: charts] Histogram empty plot with negative values"," - #3661 [API: charts] Bar plot plotting one value"," - #3702 Handle slow callback functions (like querying a remote data source) when using x_range.on_change in bokeh server"," - #3774 Mpl shifting pandas boxplot"," - #3783 Reset should call the responsive resize"," - #3795 [webgl] Datetime datapoints to pile up with webgl enabled"," - #3800 [webgl] Bokeh 0.11: enables webgl causes inconsistent update of scatter points"," - #3830 [component: docs] Weather example readme references non-existent weather.py"," - #3849 [component: docs] Fix typo in docstring"," - #3850 [component: docs] Problem with formatting on docstring for `output_file`"," - #3871 [component: bokehjs] [widgets] Multiselect: on_change method does not work properly"," - #3875 [API: charts] Error with histogram"," - #3891 [component: docs] Hex rgba strings not supported in 0.11"," - #3893 [regression] Does components() in bokeh.embed work for widgets?"," - #3895 [component: bokehjs] [widgets] Button causing redirect/reload"," - #3899 Timeseries modifies a pd.dataframe inplace"," - #3915 [component: examples] Brendancol/cross filter fix"," - #3920 [component: docs] Fix typo in docs: toolbar_position -\u003e toolbar_location"," - #3924 Fixed color mapper error"," - #3937 Issue while live adding new plots"," - #3943 Using vform method to generate layout can cause extra components to be in the document root"," - #3947 [component: docs] Contributing.md code issue"," - #3952 [component: docs] Function links not rendering"," - #3976 [component: docs] Fixed path to image"," - #3985 [component: bokehjs] Bokeh logo with gridplot"," - #3989 Sliders fail to render (they have no dimension)"," - #3992 [component: bokehjs] [notebook] Boxannotation does not update consistently"," - #3993 [component: bokehjs] Updating a span (line annotation) duplicates it"," - #3996 [component: bokehjs] Box select tool doesn't work when x or y range is reversed"," - #4001 [component: docs] Fix links in readme"," - #4003 [component: docs] Quickstart incorrectly states that default is inline - when it is cdn"," - #4012 [component: bokehjs] Jupyter notebook css is tied to the notebook structure"," - #4018 Fix up formatting of calendars example"," - #4027 Docserver.py is not windows compatible"," - #4034 [component: docs] Fix typo: supervisctl -\u003e supervisorctl"," - #4035 [component: build] Npm install fails on windows"," - #4042 [API: plotting] Generalize the configuration of axes"," - #4044 Fix default bokeh dir on windows"," - #4059 Css in docs broken"," - #4069 [component: bokehjs] [regression] Line picking is broken because glyph.glyph_view is no more"," - #4075 When used with `stat=none`, `heatmap` modifies original dataframe"," - #4080 [component: bokehjs] Don't attach document multiple times when traversing the graph"," - #4086 [component: bokehjs] [widgets] Datatable `getformatter not a function` bug"," - #4090 [component: build] Build not succeeding because path problem looking for the noarch package"," - #4092 [component: docs] Unclear how to run bokeh command when exe not available"," - #4103 Update crossfilter for new typescript api spelling"," - #4104 Crossfilter example: type is not a function error"," - #4109 [component: bokehjs] [component: server] Fix function naming in embed.coffee"," - #4110 [component: bokehjs] [regression] Plot resizing is broken"," - #4131 [component: bokehjs] Change type of bokeh.index to map\u003cview\u003ccomponent\u003e\u003e"," - #4139 Bokeh datatable renders dates one day off"," - #4155 [component: bokehjs] [regression] Fix bokehjs plotting api after making hasprops.set() strict"," - #4157 [component: bokehjs] [regression] Legend doesn't update its location after frame resize"," - #4170 [component: bokehjs] [regression] Bokehjs renders twice after selection"," - #4178 [component: build] Bokeh thinks site_packages is in conda root on windows"," - #4188 [component: bokehjs] Bokeh + flask causes race condition"," - #4190 [component: bokehjs] Toggle button reverses state"," - #4204 Bug report? datepicker widget errors on changing dates"," - #4219 [component: bokehjs] New strict js property updates broke datetimetickformatter"," - #4224 Extra_x_ranges should allow range not only range1d"," - #4246 Weird left toolbar in gridplots in dev build and master"," - #4248 [webgl] Line plot scaling issue when webgl is used"," - #4254 [notebook] [regression] Notebook rendering is broken"," - #4265 [regression] [webgl] Webgl broken because public props do not exist anymore on the glyph"," - #4275 [component: bokehjs] Remove problem styles for sass/autoprefixer support"," - #4278 Label doesn't accept angle property"," - #4313 Save button broken on master"," - #4318 [component: docs] Typo?"," - #4325 Bug --host '*' wildcard result in http \"403: forbidden\" error"," - #4345 [component: bokehjs] When using the browser zoom the plot content becomes blurry"," - #4350 Ugly border in gmapplot?"," - #4355 Problem enabling zoom on image_url object"," - #4356 [component: tests] Line hover broken in master"," - #4362 Allow unminified bokehjs to load in notebook"," - #4365 [component: examples] Simple_hdf5 example needs to use the full path to the data file"," - #4367 [webgl] Webgl issue on new layout with multiple plots - some plots are blank"," - #4379 Title.title_align='center' not working"," - #4385 Help tool is not de-duplicated in toolbarbox (gridplot toolbar)"," - #4390 Legend is too tall (and maybe too wide) if more than two items"," - #4401 Trigger event when bokeh finishes rendering"," - #4432 [component: bokehjs] Js property mismatches"," - #4435 Chord diagram only has one color when using python 2.7"," - #4439 Multiple renders ocurring"," - #4464 Setting title_text_font_size with title='' errors"," - #4488 [component: bokehjs] [regression] Plots are rerendered on resize even if responsive=\"fixed\""," - #4498 Dropdown type undefined"," - #4501 Gapminder css issue"," - #4506 Re-rendering widgets in a notebook fails miserably (when they're in a widgetbox)"," - #4513 Jitter import missing, affecting pr #4490"," - #4530 [component: docs] Link to css colors in docs is broken, link address changed"," - #4537 Scale_both isn't quite working right"," - #4541 [component: examples] Clustering app example needs updates for recent changes"," - #4543 Movies example has sliders under plot"," - #4554 Layouts got slightly broken during sizing_mode change"," - #4569 [notebook] [regression] Logo missing from notebook resource load"," - #4572 [component: bokehjs] [widgets] Changing a toggle button's type is broken"," - #4578 Gridplot toolbar broken"," - #4581 Gridplots broken except for fixed"," - #4583 Using gridplot now gives a warning"," - #4587 [component: bokehjs] [component: server] Title js models sending bck properties not on python side"," - #4589 [component: examples] [regression] Spectrogram example needs fixing up"," - #4601 Toggle button layout broken w/ new widgetbox"," - #4603 [component: examples] Ajax data source needs to specify columns explicitly"," - #4606 Toolbar alignment on complex layouts"," - #4611 [regression] Plots disappear after zooming in/out in some browsers"," - #4614 Reset tool does not trigger x/y_range callback events"," - #4622 [component: bokehjs] [regression] Lod downsampling is not working"," - #4633 Taptool on line glyph with webgl=true causes renderers to disappears"," - #4636 Textinput not obeying width parameter"," - #4639 Divide by zero error in logcolormapper"," - #4658 Google maps no longer working due to api update?"," - #4663 Dropdown callbacks broken"," - #4666 Call to reset breaks layouts"," - #4672 Charts heatmap uses deprecated attribute internally"," * features:"," - #149 Allow plot titles to be located on any edge of the plot (not just the top)"," - #219 Preview save tool should auto download-prompt"," - #572 Support for pan/zoom range limits"," - #713 Adding legends through the js interface"," - #844 [API: charts] Add chord chart"," - #1085 [starter] Orientation on titles"," - #2026 [component: server] Allow bokeh server scripts to take command-line arguments"," - #2583 [starter] Can't serialize timedelta column"," - #2715 [component: bokehjs] [widgets] Can't add callbacks to checkboxgroups"," - #2865 Off-canvas legends"," - #2992 [API: charts] Step chart should have 'index"," - #2995 Reset doesn't reset selections?"," - #3054 [starter] Toolbar improvements: active is programmable"," - #3217 [component: docs] Build documentation with canonical links to \"latest\""," - #3346 Slider size from python code to css"," - #3493 [starter] Collections.deque should serlialize"," - #3515 Having a __conda_version__.py under bokeh causes version to be wrong"," - #3738 [component: bokehjs] [component: server] Add support for bokeh static command"," - #3822 Improved annotations and legends"," - #3825 [API: models] Computed transforms"," - #3829 Add stamen toner background tile provider"," - #3832 Support horizontal legend orientations"," - #3846 [component: bokehjs] Real properties for bokehjs"," - #3848 Oval with height=width does not produce a circle"," - #3881 Add support for geojson geometrycollection"," - #3957 [component: bokehjs] [widgets] Delayed update slider"," - #3962 Custom web templates with `bokeh serve`"," - #3994 [component: server] Add option to extend sys.path with app directory"," - #4008 Allow for the injection of raw html code"," - #4051 --host allowlist doesn't trust 127.0.0.1 by default"," - #4057 [API: charts] Request: reorderable legends with chart api"," - #4064 [component: bokehjs] [component: examples] Add stock example using ts api"," - #4065 [component: bokehjs] The box (zoom or select) tool should be configurable to respect aspect"," - #4077 Avoid copies in columndatasource.stream"," - #4082 Expose geometries to taptool callbacks"," - #4118 [component: examples] Add implicit filename support for save()"," - #4150 [component: server] App-specific static file serving for directory apps"," - #4164 Improving bokeh's layout"," - #4179 Small improvements to label"," - #4180 Set default width and height for markup widgets to none"," - #4184 [component: bokehjs] Expose {x,y}axis in ts plotting api"," - #4201 [component: bokehjs] Make reset tool configurable as to what is reset"," - #4205 [component: bokehjs] Add the computedtransforms to the dataspec system"," - #4206 [component: examples] Add example for customjs callback for exporting columndatasource to csv"," - #4261 There should be an actual click tool"," - #4307 New title api \u0026 implementation"," - #4311 [API: charts] [component: bokehjs] Create js/ts charts api"," - #4344 [API: charts] Timeseries not correclty represent x-axis when applied to dataframe with datetime index"," - #4363 Bokeh server w/ multiple processes"," - #4372 Logcolormapper?"," - #4373 Add callback support to lassoselecttool"," - #4380 Titles should align with the edge of the frame not the edge of the canvas"," - #4384 New layout api - bokeh.layouts - layout, row, column, gridplot"," - #4412 [component: server] [starter] Redirect from `/` to `/app_name`"," - #4425 Improve server index page"," - #4462 Adding a funcformatter for ticks based on pyscript"," - #4548 [component: bokehjs] Add viridis and other new color maps"," * tasks:"," - #861 Clean up top level directories"," - #1149 [component: build] Build_and_upload.sh needs improvements"," - #1268 [component: docs] Bokeh.plotting.image_url glyph is missing width and height parameters in the documentation"," - #1455 Move all base64 encoded images to *.less files"," - #1595 Streaming stock ticker demo"," - #2239 [component: docs] [starter] Docs for styling selection overlays"," - #2657 Bokehjs: imageurl glyphrenderer improvements"," - #2752 [component: tests] Selenium tests to do"," - #2759 [component: bokehjs] [starter] Resolve misleading property names in `bokeh.index[\u003citem_id\u003e].renderers` and `bokeh.index[\u003citem_id\u003e].model.renderers`"," - #2876 [component: examples] [starter] Example embed_multiple.py is using old static links"," - #2882 [starter] Allow local resources when building docs"," - #2888 Something in bokeh.util.testing.py breaks making the docs"," - #2897 Ci error on current master (404/410 error with ggplot example notebook)"," - #2922 [component: bokehjs] Use numbro.js instead of numeral.js for formatting numbers"," - #3014 [API: charts] Pandas sort deprecated in new charts, use sort_values instead"," - #3083 [starter] Remove logo_url from resources"," - #3084 [component: docs] Update docs to point to tagged release of bokeh examples"," - #3146 Document breaks with roots that are also in non-root layouts"," - #3232 [component: tests] Screenshot testing for selenium tests"," - #3390 Known pending issues/tasks for 0.11 release"," - #3514 [starter] Rename bokeh.client.connection"," - #3571 Missing bokeh entry point (otherwise bokeh.bat) for windows"," - #3575 [component: server] Bokeh server should display bokeh version on startup"," - #3582 [component: docs] [component: server] Embed docs out of date"," - #3586 [component: examples] [component: server] Crossfilter example refactor"," - #3651 Unifying bokeh and bokehjs project structure"," - #3675 Defining a js callback using python for python 2.x"," - #3730 Difference between public and internal session lifetime units"," - #3759 [component: docs] Quickstart edits"," - #3770 [component: server] Periodic callbacks continue after tabs are closed"," - #3784 Responsive is false by default, no need to set"," - #3797 [component: bokehjs] Containing all bokeh style to .bk-plot"," - #3826 Visual diff tests"," - #3827 Cross browser automated testing"," - #3844 [component: docs] Remove quickstart"," - #3864 [component: bokehjs] Clean bokehjs cruft"," - #3868 Remove leftover comment from when examples were disabled"," - #3869 Test with firefox on saucelabs"," - #3877 [API: models] Pyscript now also works on py27"," - #3889 [component: tests] Speed up examples tests by using pytest-xdist"," - #3908 [API: charts] Add xaxis, yaxis accessors to chart class"," - #3913 [component: bokehjs] Some canvas and layout improvements"," - #3927 [component: tests] More gracefully handle running integration tests for external contributors"," - #3936 [component: docs] Creating -\u003e create"," - #3938 [component: bokehjs] Changed .bk-plot to .bk-root for style wrapper"," - #3945 Demo more prominant report location"," - #3948 [component: docs] Concepts file changes [ci disable examples]"," - #3949 [component: docs] Remove duplicate of seaborn from req'd pkgs [ci disable examples]"," - #3950 [component: docs] Fixes to 'plotting' [ci disable examples]"," - #3951 [component: docs] Add links to more external libraries"," - #3955 [component: build] Noarch conda package and entry points"," - #3963 Revert \"changed .bk-plot to .bk-root for style wrapper\""," - #3968 [component: docs] Document usage of a reverse tunnel to an instance of a standalone server"," - #3970 Disable data_tables_server example"," - #3997 [component: docs] Issue #3656: added more documentation for how to use widgets in the user guide"," - #4029 [component: docs] Fix output_notebook(resources) default docstring"," - #4037 [API: plotting] [component: bokehjs] Implementation of typescript api"," - #4063 [component: tests] Pytest consistently erroring on logging"," - #4076 [component: bokehjs] [component: docs] In developer guide, it's not obvious that \"following pages\" are indexed in the sidebar on the left"," - #4078 [component: bokehjs] Remove support for backbone collections"," - #4085 [component: bokehjs] More typescript api"," - #4087 [component: build] Anaconda auth token got staled"," - #4099 [component: build] [component: tests] Fix phantomjs download failures"," - #4100 [component: docs] [starter] Add prominent banner to old versions of the docs"," - #4101 Head breaks apps that use widgets with type parameter"," - #4116 [component: examples] [component: server] Add a simple app showing usage with hdf5"," - #4119 [component: build] Try use setuptools in setup.py (so entry points get installed on windows)"," - #4122 [component: docs] [starter] Add new div widget example to user guide"," - #4124 [component: bokehjs] Remove obsolete css classes and bokehjs/src/templates"," - #4126 Release 0.12 planning"," - #4132 Hotfix - fix path to phantomjs executable"," - #4141 Declarative property management"," - #4149 [component: server] [starter] Log pid on server startup"," - #4159 [component: bokehjs] [component: examples] Add linked plotting example to bokehjs"," - #4168 [component: tests] Apply basic code quality rules to all source files"," - #4173 [component: docs] There is no make.bat serve to view locally build docs on windows"," - #4186 [component: docs] [starter] Need docs support for bokehjs widgets split"," - #4187 [component: docs] [starter] Document \"bokeh sampledata\" better"," - #4194 [component: tests] Disable pandas_dataframe test temporarily"," - #4195 [component: tests] Restore pandas_dataframe test"," - #4210 [component: bokehjs] [component: build] Built js and css not included in npm package"," - #4212 More ts api improvements"," - #4217 Add paragraph and pretext widgets to user guide"," - #4222 [component: examples] Remove or update accidentally committed template"," - #4230 [component: docs] Document how to run screenshot tests"," - #4234 [API: charts] [component: docs] Better docs for the chord chart"," - #4242 [component: docs] [component: server] Document use of bokeh server with apache"," - #4244 [component: examples] Add example with drawing networkx graphs"," - #4251 [component: tests] Jitter tests can fail"," - #4253 [component: docs] [component: tests] Add note to testing docs about installing bokeh"," - #4267 [component: docs] User guide adding annotations uses p.renderers.extend instead of p.add_layout"," - #4279 [component: tests] [webgl] Tests for webgl"," - #4281 It at all -\u003e if at all"," - #4292 Add webgl support for more kinds of markers"," - #4293 [webgl] Webgl blurry on os x, not visible in safari"," - #4323 Move plot to plotcanvas"," - #4341 Refactor webgl into smaller chunks"," - #4358 Revert \"make hidpi work for webgl\""," - #4360 Merges the hipdi work into the layout pr"," - #4381 Api issue: title_standoff, title_padding, title_offset"," - #4382 Is title padding working?"," - #4383 Is min_border working?"," - #4387 [component: docs] Layout documentation"," - #4396 Api - name the responsive modes"," - #4397 Update all examples to use new layouts"," - #4399 [API: models] Make toolbar right by default?"," - #4406 Confirm that toolbar works under streaming (ref #3334)"," - #4423 Changed docserver shutdown instruction"," - #4429 [component: examples] #4397 (partial) examples/models update layout"," - #4440 [component: docs] Update readme for greater user friendliness"," - #4446 [component: docs] Improve dev guide's documentation section"," - #4454 Doc: mentioning ``ulimit -n`` in dev guide"," - #4457 [component: docs] Explicitly document installing into the bokehjs directory"," - #4466 [component: docs] Remove deprecated api usage from docs examples"," - #4475 Remove dupe props in plotcanvas, cleanup"," - #4480 [component: build] Unnecessary ansi escapes are generated by setup on windows"," - #4482 Quiet boto log level"," - #4485 [component: docs] Update docs and docs build to be clear that only html output is supported"," - #4492 Tweaks to almar's resize pr"," - #4494 Remove un-used layout css"," - #4496 Undeprecate vbox and hbox"," - #4512 A few fixes to the typings"," - #4514 Split out responsive and sizing_mode as per discussion on #4484"," - #4515 [component: tests] Cannot run test_code_quality.py on windows"," - #4520 Resize tool should not be in defaults"," - #4529 Update docs"," - #4547 [component: docs] [starter] Readme.md under examples/plotting/notebook refers to ipython not jupyter"," - #4550 Warn when sticky toolbars might visually overlap other components"," - #4557 Improvements to layout functions"," - #4559 [component: examples] Ggplot api update"," - #4566 Pin ggplot version preceding uploading new versions to anaconda.org"," - #4584 Set gridplot default location to above"," - #4591 [component: examples] Add surface3d custom model example"," - #4594 Issue with pandas in examples/app/weather"," - #4609 Remove hack unneeded since #4607 introduced in #4312"," - #4620 Responsive no longer supported?"," - #4626 Mpl compat needs minor updates"," - #4629 Small styling tweaks"," - #4654 Examples tweaks"," - #4655 Skip 3 more flaky js tests"," - #4662 Examples cleanup"," - #4669 [component: docs] Arrowhead documentation"," - #4670 Clean up notebook examples"," - #4675 Undeprecate .from_df"," - #4684 Code quality"," - #4685 [component: examples] Bryanv/hotfix examples"," - #4687 [component: docs] Last docs 012","","2016-06-27 0.12.0","--------------------"," * bugfixes:"," - #1256 Vbox doesn't work properly under ie"," - #1445 Changing title on sliders example disables crosshair tool"," - #1642 Selection tools not working with scatter chart"," - #1710 [component: examples] App drop-downs under firefox are the wrong size"," - #1848 Tools not working on gallery - windows 7 + chrome 40.0.2214.111 m"," - #2006 Unable to stack multiple twin axis on same side"," - #2081 Title_text_align plot property behaves strangely"," - #2229 Broken reset tool after use of resize tool"," - #2277 Matplotlib to bokeh conversion discards category labels"," - #2284 Hbox not working properly with plots"," - #2297 [starter] It's possible to extend the lasso tool outside the bounds of a plot"," - #2344 Appvbox: width has no effect (firefox)"," - #2350 [widgets] Hbox/hplot not working in ipython notebook"," - #2504 [widgets] Datatables spills out on server rendering (on ff)"," - #2525 [component: bokehjs] Setting glyph color to none results in an array of nan's"," - #2534 Embed.component log chart axis label messy"," - #2549 [component: docs] Dropdown button example partially hidden in user guide"," - #2622 [component: docs] List of color tuples broken?"," - #2699 Rendering error on line when super zoomed in"," - #2977 Stock_app errors and fixes"," - #2997 Touch problems on all but the simplest cases"," - #3004 Line tooltip appears when hovering off the line"," - #3073 [component: examples] Sliders demo uses unminified resources"," - #3120 Nan in data causes hover to break if formatter applied"," - #3130 Bokeh does not plot pandas boxplot correctly using mpl.to_bokeh()"," - #3134 When plotting pandas dataframe in ipython notebook, mpl.to_bokeh(), dates on axis are displayed as numbers"," - #3215 Bokeh + ipython widgets: push_notebook() error?"," - #3226 [component: bokehjs] Text_color does not respect `none`"," - #3252 Button or toggle.disabled=true does not gray out the button or toggle"," - #3303 Layout can allow plots to overlap"," - #3329 [component: docs] Docs suggest that add_tools() takes shorthand strings, but it doesn't"," - #3434 [component: bokehjs] [starter] Band fill color issue display"," - #3464 [component: bokehjs] Maps_cities.py data disappears after pan/zoom"," - #3546 [API: charts] Charts + bokeh server: scatter plot added twice"," - #3563 [component: bokehjs] Setting min_border does not work"," - #3576 Bokeh histogram attribute density doesn't work"," - #3581 [component: bokehjs] [component: build] Cannot find module _process error on bokehjs build"," - #3610 [component: examples] Embed examples and airports_map broken on win"," - #3611 [component: examples] Examples/plotting/file/image examples broken on win"," - #3612 [component: examples] Plotting/file/line_compare second combo (\"line join\") does not work on win"," - #3615 [component: examples] [component: server] Plotting/server/geojson broken on windows"," - #3616 [API: charts] [component: examples] Charts/timeseries (step) chart is broken on windows"," - #3620 Lots of warnings when using bokeh in notebook"," - #3659 [API: charts] Histogram bin size auto select"," - #3660 [API: charts] Histogram empty plot with negative values"," - #3661 [API: charts] Bar plot plotting one value"," - #3702 Handle slow callback functions (like querying a remote data source) when using x_range.on_change in bokeh server"," - #3774 Mpl shifting pandas boxplot"," - #3783 Reset should call the responsive resize"," - #3795 [webgl] Datetime datapoints to pile up with webgl enabled"," - #3800 [webgl] Bokeh 0.11: enables webgl causes inconsistent update of scatter points"," - #3830 [component: docs] Weather example readme references non-existent weather.py"," - #3849 [component: docs] Fix typo in docstring"," - #3850 [component: docs] Problem with formatting on docstring for `output_file`"," - #3871 [component: bokehjs] [widgets] Multiselect: on_change method does not work properly"," - #3875 [API: charts] Error with histogram"," - #3891 [component: docs] Hex rgba strings not supported in 0.11"," - #3893 [regression] Does components() in bokeh.embed work for widgets?"," - #3895 [component: bokehjs] [widgets] Button causing redirect/reload"," - #3899 Timeseries modifies a pd.dataframe inplace"," - #3915 [component: examples] Brendancol/cross filter fix"," - #3920 [component: docs] Fix typo in docs: toolbar_position -\u003e toolbar_location"," - #3924 Fixed color mapper error"," - #3937 Issue while live adding new plots"," - #3943 Using vform method to generate layout can cause extra components to be in the document root"," - #3947 [component: docs] Contributing.md code issue"," - #3952 [component: docs] Function links not rendering"," - #3976 [component: docs] Fixed path to image"," - #3985 [component: bokehjs] Bokeh logo with gridplot"," - #3989 Sliders fail to render (they have no dimension)"," - #3992 [component: bokehjs] [notebook] Boxannotation does not update consistently"," - #3993 [component: bokehjs] Updating a span (line annotation) duplicates it"," - #3996 [component: bokehjs] Box select tool doesn't work when x or y range is reversed"," - #4001 [component: docs] Fix links in readme"," - #4003 [component: docs] Quickstart incorrectly states that default is inline - when it is cdn"," - #4012 [component: bokehjs] Jupyter notebook css is tied to the notebook structure"," - #4018 Fix up formatting of calendars example"," - #4027 Docserver.py is not windows compatible"," - #4034 [component: docs] Fix typo: supervisctl -\u003e supervisorctl"," - #4035 [component: build] Npm install fails on windows"," - #4042 [API: plotting] Generalize the configuration of axes"," - #4044 Fix default bokeh dir on windows"," - #4059 Css in docs broken"," - #4069 [component: bokehjs] [regression] Line picking is broken because glyph.glyph_view is no more"," - #4075 When used with `stat=none`, `heatmap` modifies original dataframe"," - #4080 [component: bokehjs] Don't attach document multiple times when traversing the graph"," - #4086 [component: bokehjs] [widgets] Datatable `getformatter not a function` bug"," - #4090 [component: build] Build not succeeding because path problem looking for the noarch package"," - #4092 [component: docs] Unclear how to run bokeh command when exe not available"," - #4103 Update crossfilter for new typescript api spelling"," - #4104 Crossfilter example: type is not a function error"," - #4109 [component: bokehjs] [component: server] Fix function naming in embed.coffee"," - #4110 [component: bokehjs] [regression] Plot resizing is broken"," - #4131 [component: bokehjs] Change type of bokeh.index to map\u003cview\u003ccomponent\u003e\u003e"," - #4139 Bokeh datatable renders dates one day off"," - #4155 [component: bokehjs] [regression] Fix bokehjs plotting api after making hasprops.set() strict"," - #4157 [component: bokehjs] [regression] Legend doesn't update its location after frame resize"," - #4170 [component: bokehjs] [regression] Bokehjs renders twice after selection"," - #4178 [component: build] Bokeh thinks site_packages is in conda root on windows"," - #4188 [component: bokehjs] Bokeh + flask causes race condition"," - #4190 [component: bokehjs] Toggle button reverses state"," - #4204 Bug report? datepicker widget errors on changing dates"," - #4219 [component: bokehjs] New strict js property updates broke datetimetickformatter"," - #4224 Extra_x_ranges should allow range not only range1d"," - #4246 Weird left toolbar in gridplots in dev build and master"," - #4248 [webgl] Line plot scaling issue when webgl is used"," - #4254 [notebook] [regression] Notebook rendering is broken"," - #4265 [regression] [webgl] Webgl broken because public props do not exist anymore on the glyph"," - #4275 [component: bokehjs] Remove problem styles for sass/autoprefixer support"," - #4278 Label doesn't accept angle property"," - #4313 Save button broken on master"," - #4318 [component: docs] Typo?"," - #4325 Bug --host '*' wildcard result in http \"403: forbidden\" error"," - #4345 [component: bokehjs] When using the browser zoom the plot content becomes blurry"," - #4350 Ugly border in gmapplot?"," - #4355 Problem enabling zoom on image_url object"," - #4356 [component: tests] Line hover broken in master"," - #4362 Allow unminified bokehjs to load in notebook"," - #4365 [component: examples] Simple_hdf5 example needs to use the full path to the data file"," - #4367 [webgl] Webgl issue on new layout with multiple plots - some plots are blank"," - #4379 Title.title_align='center' not working"," - #4385 Help tool is not de-duplicated in toolbarbox (gridplot toolbar)"," - #4390 Legend is too tall (and maybe too wide) if more than two items"," - #4401 Trigger event when bokeh finishes rendering"," - #4432 [component: bokehjs] Js property mismatches"," - #4435 Chord diagram only has one color when using python 2.7"," - #4439 Multiple renders ocurring"," - #4464 Setting title_text_font_size with title='' errors"," - #4488 [component: bokehjs] [regression] Plots are rerendered on resize even if responsive=\"fixed\""," - #4498 Dropdown type undefined"," - #4501 Gapminder css issue"," - #4506 Re-rendering widgets in a notebook fails miserably (when they're in a widgetbox)"," - #4513 Jitter import missing, affecting pr #4490"," - #4530 [component: docs] Link to css colors in docs is broken, link address changed"," - #4537 Scale_both isn't quite working right"," - #4541 [component: examples] Clustering app example needs updates for recent changes"," - #4543 Movies example has sliders under plot"," - #4554 Layouts got slightly broken during sizing_mode change"," - #4569 [notebook] [regression] Logo missing from notebook resource load"," - #4572 [component: bokehjs] [widgets] Changing a toggle button's type is broken"," - #4578 Gridplot toolbar broken"," - #4581 Gridplots broken except for fixed"," - #4583 Using gridplot now gives a warning"," - #4587 [component: bokehjs] [component: server] Title js models sending bck properties not on python side"," - #4601 Toggle button layout broken w/ new widgetbox"," - #4603 [component: examples] Ajax data source needs to specify columns explicitly"," - #4606 Toolbar alignment on complex layouts"," - #4611 [regression] Plots disappear after zooming in/out in some browsers"," - #4614 Reset tool does not trigger x/y_range callback events"," - #4622 [component: bokehjs] [regression] Lod downsampling is not working"," - #4633 Taptool on line glyph with webgl=true causes renderers to disappears"," - #4636 Textinput not obeying width parameter"," - #4639 Divide by zero error in logcolormapper"," - #4658 Google maps no longer working due to api update?"," - #4663 Dropdown callbacks broken"," - #4666 Call to reset breaks layouts"," - #4672 Charts heatmap uses deprecated attribute internally"," * features:"," - #149 Allow plot titles to be located on any edge of the plot (not just the top)"," - #219 Preview save tool should auto download-prompt"," - #572 Support for pan/zoom range limits"," - #713 Adding legends through the js interface"," - #844 [API: charts] Add chord chart"," - #1085 [starter] Orientation on titles"," - #2026 [component: server] Allow bokeh server scripts to take command-line arguments"," - #2583 [starter] Can't serialize timedelta column"," - #2715 [component: bokehjs] [widgets] Can't add callbacks to checkboxgroups"," - #2865 Off-canvas legends"," - #2992 [API: charts] Step chart should have 'index"," - #2995 Reset doesn't reset selections?"," - #3054 [starter] Toolbar improvements: active is programmable"," - #3217 [component: docs] Build documentation with canonical links to \"latest\""," - #3346 Slider size from python code to css"," - #3493 [starter] Collections.deque should serlialize"," - #3515 Having a __conda_version__.py under bokeh causes version to be wrong"," - #3738 [component: bokehjs] [component: server] Add support for bokeh static command"," - #3822 Improved annotations and legends"," - #3825 [API: models] Computed transforms"," - #3829 Add stamen toner background tile provider"," - #3832 Support horizontal legend orientations"," - #3846 [component: bokehjs] Real properties for bokehjs"," - #3848 Oval with height=width does not produce a circle"," - #3881 Add support for geojson geometrycollection"," - #3957 [component: bokehjs] [widgets] Delayed update slider"," - #3962 Custom web templates with `bokeh serve`"," - #3994 [component: server] Add option to extend sys.path with app directory"," - #4008 Allow for the injection of raw html code"," - #4051 --host allowlist doesn't trust 127.0.0.1 by default"," - #4057 [API: charts] Request: reorderable legends with chart api"," - #4064 [component: bokehjs] [component: examples] Add stock example using ts api"," - #4065 [component: bokehjs] The box (zoom or select) tool should be configurable to respect aspect"," - #4077 Avoid copies in columndatasource.stream"," - #4082 Expose geometries to taptool callbacks"," - #4118 [component: examples] Add implicit filename support for save()"," - #4150 [component: server] App-specific static file serving for directory apps"," - #4164 Improving bokeh's layout"," - #4179 Small improvements to label"," - #4180 Set default width and height for markup widgets to none"," - #4184 [component: bokehjs] Expose {x,y}axis in ts plotting api"," - #4201 [component: bokehjs] Make reset tool configurable as to what is reset"," - #4205 [component: bokehjs] Add the computedtransforms to the dataspec system"," - #4206 [component: examples] Add example for customjs callback for exporting columndatasource to csv"," - #4261 There should be an actual click tool"," - #4307 New title api \u0026 implementation"," - #4311 [API: charts] [component: bokehjs] Create js/ts charts api"," - #4344 [API: charts] Timeseries not correclty represent x-axis when applied to dataframe with datetime index"," - #4363 Bokeh server w/ multiple processes"," - #4372 Logcolormapper?"," - #4373 Add callback support to lassoselecttool"," - #4380 Titles should align with the edge of the frame not the edge of the canvas"," - #4384 New layout api - bokeh.layouts - layout, row, column, gridplot"," - #4412 [component: server] [starter] Redirect from `/` to `/app_name`"," - #4425 Improve server index page"," - #4462 Adding a funcformatter for ticks based on pyscript"," - #4548 [component: bokehjs] Add viridis and other new color maps"," * tasks:"," - #861 Clean up top level directories"," - #1149 [component: build] Build_and_upload.sh needs improvements"," - #1268 [component: docs] Bokeh.plotting.image_url glyph is missing width and height parameters in the documentation"," - #1455 Move all base64 encoded images to *.less files"," - #1595 Streaming stock ticker demo"," - #2239 [component: docs] [starter] Docs for styling selection overlays"," - #2657 Bokehjs: imageurl glyphrenderer improvements"," - #2752 [component: tests] Selenium tests to do"," - #2759 [component: bokehjs] [starter] Resolve misleading property names in `bokeh.index[\u003citem_id\u003e].renderers` and `bokeh.index[\u003citem_id\u003e].model.renderers`"," - #2876 [component: examples] [starter] Example embed_multiple.py is using old static links"," - #2882 [starter] Allow local resources when building docs"," - #2888 Something in bokeh.util.testing.py breaks making the docs"," - #2897 Ci error on current master (404/410 error with ggplot example notebook)"," - #2922 [component: bokehjs] Use numbro.js instead of numeral.js for formatting numbers"," - #3014 [API: charts] Pandas sort deprecated in new charts, use sort_values instead"," - #3083 [starter] Remove logo_url from resources"," - #3084 [component: docs] Update docs to point to tagged release of bokeh examples"," - #3146 Document breaks with roots that are also in non-root layouts"," - #3232 [component: tests] Screenshot testing for selenium tests"," - #3390 Known pending issues/tasks for 0.11 release"," - #3514 [starter] Rename bokeh.client.connection"," - #3571 Missing bokeh entry point (otherwise bokeh.bat) for windows"," - #3575 [component: server] Bokeh server should display bokeh version on startup"," - #3582 [component: docs] [component: server] Embed docs out of date"," - #3586 [component: examples] [component: server] Crossfilter example refactor"," - #3651 Unifying bokeh and bokehjs project structure"," - #3675 Defining a js callback using python for python 2.x"," - #3730 Difference between public and internal session lifetime units"," - #3759 [component: docs] Quickstart edits"," - #3770 [component: server] Periodic callbacks continue after tabs are closed"," - #3784 Responsive is false by default, no need to set"," - #3797 [component: bokehjs] Containing all bokeh style to .bk-plot"," - #3826 Visual diff tests"," - #3827 Cross browser automated testing"," - #3844 [component: docs] Remove quickstart"," - #3864 [component: bokehjs] Clean bokehjs cruft"," - #3868 Remove leftover comment from when examples were disabled"," - #3869 Test with firefox on saucelabs"," - #3877 [API: models] Pyscript now also works on py27"," - #3889 [component: tests] Speed up examples tests by using pytest-xdist"," - #3908 [API: charts] Add xaxis, yaxis accessors to chart class"," - #3913 [component: bokehjs] Some canvas and layout improvements"," - #3927 [component: tests] More gracefully handle running integration tests for external contributors"," - #3936 [component: docs] Creating -\u003e create"," - #3938 [component: bokehjs] Changed .bk-plot to .bk-root for style wrapper"," - #3945 Demo more prominant report location"," - #3948 [component: docs] Concepts file changes [ci disable examples]"," - #3949 [component: docs] Remove duplicate of seaborn from req'd pkgs [ci disable examples]"," - #3950 [component: docs] Fixes to 'plotting' [ci disable examples]"," - #3951 [component: docs] Add links to more external libraries"," - #3955 [component: build] Noarch conda package and entry points"," - #3963 Revert \"changed .bk-plot to .bk-root for style wrapper\""," - #3968 [component: docs] Document usage of a reverse tunnel to an instance of a standalone server"," - #3970 Disable data_tables_server example"," - #3997 [component: docs] Issue #3656: added more documentation for how to use widgets in the user guide"," - #4029 [component: docs] Fix output_notebook(resources) default docstring"," - #4037 [API: plotting] [component: bokehjs] Implementation of typescript api"," - #4063 [component: tests] Pytest consistently erroring on logging"," - #4076 [component: bokehjs] [component: docs] In developer guide, it's not obvious that \"following pages\" are indexed in the sidebar on the left"," - #4078 [component: bokehjs] Remove support for backbone collections"," - #4085 [component: bokehjs] More typescript api"," - #4087 [component: build] Anaconda auth token got staled"," - #4099 [component: build] [component: tests] Fix phantomjs download failures"," - #4100 [component: docs] [starter] Add prominent banner to old versions of the docs"," - #4101 Head breaks apps that use widgets with type parameter"," - #4116 [component: examples] [component: server] Add a simple app showing usage with hdf5"," - #4119 [component: build] Try use setuptools in setup.py (so entry points get installed on windows)"," - #4122 [component: docs] [starter] Add new div widget example to user guide"," - #4124 [component: bokehjs] Remove obsolete css classes and bokehjs/src/templates"," - #4126 Release 0.12 planning"," - #4132 Hotfix - fix path to phantomjs executable"," - #4141 Declarative property management"," - #4149 [component: server] [starter] Log pid on server startup"," - #4159 [component: bokehjs] [component: examples] Add linked plotting example to bokehjs"," - #4168 [component: tests] Apply basic code quality rules to all source files"," - #4173 [component: docs] There is no make.bat serve to view locally build docs on windows"," - #4186 [component: docs] [starter] Need docs support for bokehjs widgets split"," - #4187 [component: docs] [starter] Document \"bokeh sampledata\" better"," - #4194 [component: tests] Disable pandas_dataframe test temporarily"," - #4195 [component: tests] Restore pandas_dataframe test"," - #4210 [component: bokehjs] [component: build] Built js and css not included in npm package"," - #4212 More ts api improvements"," - #4217 Add paragraph and pretext widgets to user guide"," - #4222 [component: examples] Remove or update accidentally committed template"," - #4230 [component: docs] Document how to run screenshot tests"," - #4234 [API: charts] [component: docs] Better docs for the chord chart"," - #4242 [component: docs] [component: server] Document use of bokeh server with apache"," - #4244 [component: examples] Add example with drawing networkx graphs"," - #4251 [component: tests] Jitter tests can fail"," - #4253 [component: docs] [component: tests] Add note to testing docs about installing bokeh"," - #4267 [component: docs] User guide adding annotations uses p.renderers.extend instead of p.add_layout"," - #4279 [component: tests] [webgl] Tests for webgl"," - #4281 It at all -\u003e if at all"," - #4292 Add webgl support for more kinds of markers"," - #4293 [webgl] Webgl blurry on os x, not visible in safari"," - #4323 Move plot to plotcanvas"," - #4341 Refactor webgl into smaller chunks"," - #4358 Revert \"make hidpi work for webgl\""," - #4360 Merges the hipdi work into the layout pr"," - #4381 Api issue: title_standoff, title_padding, title_offset"," - #4382 Is title padding working?"," - #4383 Is min_border working?"," - #4387 [component: docs] Layout documentation"," - #4396 Api - name the responsive modes"," - #4397 Update all examples to use new layouts"," - #4399 [API: models] Make toolbar right by default?"," - #4406 Confirm that toolbar works under streaming (ref #3334)"," - #4423 Changed docserver shutdown instruction"," - #4429 [component: examples] #4397 (partial) examples/models update layout"," - #4440 [component: docs] Update readme for greater user friendliness"," - #4446 [component: docs] Improve dev guide's documentation section"," - #4454 Doc: mentioning ``ulimit -n`` in dev guide"," - #4457 [component: docs] Explicitly document installing into the bokehjs directory"," - #4466 [component: docs] Remove deprecated api usage from docs examples"," - #4475 Remove dupe props in plotcanvas, cleanup"," - #4480 [component: build] Unnecessary ansi escapes are generated by setup on windows"," - #4482 Quiet boto log level"," - #4485 [component: docs] Update docs and docs build to be clear that only html output is supported"," - #4492 Tweaks to almar's resize pr"," - #4494 Remove un-used layout css"," - #4496 Undeprecate vbox and hbox"," - #4512 A few fixes to the typings"," - #4514 Split out responsive and sizing_mode as per discussion on #4484"," - #4515 [component: tests] Cannot run test_code_quality.py on windows"," - #4520 Resize tool should not be in defaults"," - #4529 Update docs"," - #4547 [component: docs] [starter] Readme.md under examples/plotting/notebook refers to ipython not jupyter"," - #4550 Warn when sticky toolbars might visually overlap other components"," - #4557 Improvements to layout functions"," - #4559 [component: examples] Ggplot api update"," - #4566 Pin ggplot version preceding uploading new versions to anaconda.org"," - #4584 Set gridplot default location to above"," - #4591 [component: examples] Add surface3d custom model example"," - #4594 Issue with pandas in examples/app/weather"," - #4609 Remove hack unneeded since #4607 introduced in #4312"," - #4620 Responsive no longer supported?"," - #4626 Mpl compat needs minor updates"," - #4629 Small styling tweaks"," - #4654 Examples tweaks"," - #4655 Skip 3 more flaky js tests"," - #4662 Examples cleanup"," - #4669 [component: docs] Arrowhead documentation"," - #4670 Clean up notebook examples"," - #4675 Undeprecate .from_df"," - #4684 Code quality"," - #4685 [component: examples] Bryanv/hotfix examples","","2016-02-04 0.11.1:","--------------------"," * bugfixes:"," - #2495 [widgets] Multiselect appears broken"," - #3055 [docs] Search isn't working correctly on docs - bokeh.pydata.org"," - #3069 [docs] Table of contents is not scrolling properly on bokeh website"," - #3173 Cb_obj for range callback is plot not range"," - #3257 Confusing deprecation message in bokeh/models/plots.py"," - #3304 [examples] Stocks app example is not py2 compatible"," - #3468 [bokehjs] Embed_responsive_with_height.py starts out wrong size"," - #3530 _make_io_complainer method of scripthandler uses not-imported sys module"," - #3543 [bokehjs] Annulus glyph does not render correctly in ie and edge"," - #3552 Use self.mode instead of mode in baseresources.__init__()"," - #3562 [docs] Python callback example in user guide not rendering"," - #3569 [docs] Imageurl example in reference guide is broken"," - #3578 [charts] [docs] Sizing plots, charts: inconsistency between doc an api"," - #3591 [docs] Correct links to be demo.bokehplots.com links"," - #3604 [bokehjs] Hovertool.always_active is not implemented"," - #3605 [bokehjs] Webgl aa is broken on firefox on windows"," - #3626 [bokehjs] [server] Support swapping of axes/ranges without re-creating entire plot"," - #3636 [tests] Travisci failing every py27 examples test"," - #3646 Fix bad path to bokeh logo static"," - #3658 Hplot spacing too large"," - #3680 [bokehjs] Notebook comms only update last plot"," - #3683 Movies app razzies file path"," - #3690 Add `bind_bokeh_event` methods to `tilerenderer` and `dynamicimagerenderer`"," - #3692 [server] Fix error about blocked websocket to list allowed origins"," - #3695 [docs] Server example out of date"," - #3698 [docs] Doc: data_source is not an expected attribute to text"," - #3699 [charts] Boxplot 1st and 4th whiskers are just of equal length"," - #3705 Inline css from embed_multiple.py jinja template overrides bokeh plot icon css"," - #3709 [bokehjs] Issue with legend when 'oval shape' is used"," - #3710 [bokehjs] [build] Restore support for --build-dir argument to gulp"," - #3711 [bokehjs] Allow to align plot title to left and right (center worked before)"," - #3712 [regression] Use make_id() instead of str(uuid.uuid4())"," - #3714 [regression] Restore pretty json formatting and make sort_keys=true the default"," - #3726 [server] Pandas required to use the server!"," - #3727 [examples] Update elements.csv"," - #3753 [bokehjs] Should not set parent on anything anymore"," - #3758 Fix bad layouts imports in examples"," - #3769 [bokehjs] Reset tool resets selection incorrectly"," - #3778 Fix issue with bar chart grouping/stacking order"," - #3803 [bokehjs] Publish bokehjs separately in a notebook to avoid parsing issues in jquery"," - #3807 [docs] Sync mpl.to_bokeh docstrings with current available parameters"," - #3811 [bokehjs] Hot fix for selection reset code"," - #3812 Use import_required for nbformat and nbconvert"," * features:"," - #1683 Reset orignal plot's size"," - #2346 [bokehjs] Extend jscallback support"," - #3254 Add support for undo and redo tools"," - #3505 \"bokeh sampledata\" command"," - #3506 [starter] \"bokeh static\" command"," - #3541 [server] Add session expiration time options to `bokeh serve`"," - #3542 Log more detailed stats information from the server"," - #3553 [server] Add __main__.py so we can do \"python -m bokeh\""," - #3592 [docs] Add a sitemap builder"," - #3593 [server] Add option to parse jupyter notebooks as input to bokeh command"," - #3638 [server] Provide method for turning server autoadd off"," - #3682 Add headers and contenttype configuration to ajax data source"," - #3768 Initial commit of streaming api"," * tasks:"," - #2159 [docs] [server] Bokeh server documentation is incomplete"," - #3243 [tests] Build new pytest-selenium package"," - #3305 [server] Evaluate bokeh server on windows"," - #3404 [docs] Todos for new docs"," - #3417 [charts] [examples] Add detailed tutorial on individual charts components"," - #3508 Remove remotedata directory"," - #3548 [tests] Latest versions of firefox have a heavy to load startpage that we don't need"," - #3566 Remove bokeh/styling_tool_overlays.html"," - #3568 Use split not contains for browser compatibility"," - #3583 [docs] Remove some example notebooks that are superfluous"," - #3587 Add plotting of razzies"," - #3588 [docs] Quick add of demo apps to gallery"," - #3599 [examples] Update periodic table example to reflect recent changes"," - #3607 [build] Add javascript channel to meta.yaml and improve scripts/dev_environment"," - #3633 [docs] User guide server"," - #3637 [docs] 0.11.0 documentation fixes and flake8"," - #3662 [bokehjs] Remove hasparent (involves moving glyph display_defaults into defaults)"," - #3663 Remove abstractrendering cruft"," - #3664 [docs] Examples reorg"," - #3672 [bokehjs] Fix base of bokehjs class hierarchy"," - #3676 [build] Minified files should not try to load .map files"," - #3677 Server should optionally enable xheader support"," - #3686 [docs] Auto-update the \"releases\" link in conf.py"," - #3687 [docs] Docs updates/0.11.0"," - #3694 Remove not filled out portions of docs"," - #3697 Add renderer base class to *_renderer models"," - #3703 Task/add component base class"," - #3721 [docs] Hotfix small doc addition to select"," - #3728 Removed rogue debugger statement"," - #3735 [bokehjs] [models] Task/3651 unify directory structure"," - #3739 [build] [tests] Remove version pin from pytest-selenium"," - #3742 [docs] Reference docs have bad path to layouts.py (autodocs fail for layouts)"," - #3749 [bokehjs] Move defaults.coffee (for models and widgets) into test/ directory"," - #3751 [bokehjs] Remove unused close_wrapper module and coffee/api directory"," - #3752 [bokehjs] [build] Generate defaults for test task, not scripts:coffee"," - #3755 [docs] Quickstart edits"," - #3766 [bokehjs] Task/rename hasproperties to hasprops"," - #3775 Removing blazedatasource"," - #3790 Don't use spaces in json separators to reduce data size"," - #3802 [bokehjs] Move vbox and hbox to top since they are layouts on coffee layer"," - #3805 [build] Add new creds for rackspace"," - #3808 [docs] Fix quotes around links to examples notebooks"," - #3815 Hotfix/apps examples","","2016-01-06 0.11.0:","--------------------"," * bugfixes:"," - #1349 Image component + circle"," - #1732 [bokehjs] Push_notebook memory leaks"," - #2059 [regression] Running server example twice duplicates layout"," - #2319 Imageurl not extending as expected (until after zoom / pan)"," - #2560 Support css colornames in value()"," - #2621 Convert from mpl breaks if mpl axis object has no xticks"," - #2643 Error with mpl (showing in violin plot)"," - #2679 [docs] Weird artifact on file_html generate docs"," - #2700 [build] 0.9.0 build on anaconda has wrong md5"," - #2730 Donut chart emits validation error"," - #2731 Histogram emits a validation error"," - #2776 Spurious error message in plotting/file/ajax_source.py and ajax_source_realtime.py"," - #2780 Bokeh timeseries chokes on nan values"," - #2893 Ranges using numpy types, when creating a new figure, fail"," - #2904 Editable fields in a sorted datatable do not update correctly"," - #2910 [docs] Testing addopts are note recognized with listed dependencies installed"," - #2918 [charts] Support for irregular observation intervals for area charts"," - #2928 [bokehjs] [build] Watch.coffee has bad path for bokehjs watchsources (gulp watch is broken)"," - #2932 [bokehjs] Use custom function to compute the maximum value of a large array"," - #2945 [bokehjs] Plotting \"large numbers\" with webgl=true causes point coordinates to be miscalculated"," - #2951 Border_fill and background_fill don't accept rgb tuples or rgba values"," - #2953 [bokehjs] Bokehjs 0.10 very verbose in the console using cdn"," - #2965 [charts] Custom bar chart hover tooltips"," - #2978 [tests] ../tests/travis/nbexecuter.py tests not compatible w/ ipython=4.0"," - #2980 [tests] Move location of license copy in setup.py"," - #2998 Fix pinch zoom"," - #3001 Hotfix/box selection for mobile"," - #3015 Hotfix/broken charts"," - #3017 Stocks example bug with numpy v1.10.1"," - #3022 [bokehjs] Logmapper can overwrite inputs, also falls over with one bad value"," - #3023 [docs] Wrong variable names in file_html() for jinja2 template in documentation"," - #3036 Gulp build script creates incorrect source map and gulp watch has bad path to license.txt"," - #3048 Small fix to hover.py example"," - #3057 [charts] Bar chart broken on update"," - #3059 Fixes/tile renderer enhancements"," - #3066 [examples] [server] Glyphs.py server issue - plots appearing twice"," - #3071 [regression] Hotfix/image_rgba"," - #3076 Hot fix: fixed default settings for tile sources"," - #3085 Y_axis_type='log' collapses values"," - #3089 Hotfix/fix flake8"," - #3092 [charts] [docs] Bar plot example seems to be broken"," - #3094 Text_font_size props in default.yaml raise deprecated warn"," - #3100 [tests] Ipython notebook cells not being executed in examples tests"," - #3102 [server] Do not open up server to all cross-origin connections"," - #3108 [server] Fix `curdoc()` inside of callbacks"," - #3124 Histogram gives valueerror or overflowerror with automatic binning on a nearly homogenous dataset"," - #3162 [server] Set correct websocket_path on each app pattern in the server"," - #3165 [server] Avoid using host header from the http request"," - #3167 [bokehjs] [TP] Wheel zoom tool on chrome"," - #3169 Slider ignores changes to the model"," - #3172 Fix autoload.js from server to include all js_urls"," - #3192 Unit of period in add_periodic_callback() changed to seconds"," - #3195 [docs] Example-breaking typo in the documentation"," - #3213 [build] Conda list returns too much without -f"," - #3216 [docs] Add missing call to output_file in quickstart.rst"," - #3218 [build] [regression] Try forcing inline resources for notebooks"," - #3240 Support for functools.partial functions as callbacks"," - #3249 [server] The example https://github.com/bokeh/bokeh/blob/master/examples/plotting/server/line_animate_widget.py does not work in the developer build??"," - #3253 [regression] Document does not maintain object insertion order"," - #3259 [tests] Shrink test_objects.py::testcollectmodels::test_references_large"," - #3275 [server] Bokeh prod issues"," - #3283 Fix broken docstring automation"," - #3291 [server] Websocket connections timing out despite keep-alive"," - #3296 [charts] [regression] Charts defaults are broken"," - #3299 [server] Data not always bytes"," - #3300 Border shading area not resizing correctly"," - #3307 [examples] Use add_root not add in sliders.py and fourier_animated.py examples"," - #3310 Support asynchronous coroutines in `add_timeout_callback`"," - #3313 [examples] [regression] Selections are broken on app/stocks"," - #3318 Timeout callbacks should remove themselves after they run"," - #3320 [charts] [server] Bokeh server not working with charts and client sessions"," - #3327 Fix erroneous dispatch method"," - #3334 [bokehjs] Hotfix to only render toolbar once"," - #3335 [examples] Line_animate_widget.py is broken"," - #3338 [bokehjs] [server] Fix problem where replacing children did not update document"," - #3339 [bokehjs] [examples] [widgets] Adding user defined layouts"," - #3341 When we customize property serialization, also customize deserialization"," - #3350 --host eats the script names"," - #3356 Dataspecproperty.set_from_json: check whether json is a dict before assuming"," - #3361 [bokehjs] [server] Opening same session of sliders example in two tabs breaks"," - #3368 No_{glyph-\u003edata}_renderer warning"," - #3376 [bokehjs] Inspected is a non-serializable attr at least for now"," - #3379 [server] Add connection write_lock"," - #3385 Fix change suppression on units-spec values"," - #3392 Geojson_points example cannot set initial bounds"," - #3402 Add in bokeh_theme layout"," - #3403 Add in remaining html templates"," - #3408 [bokehjs] [server] Improve datarange updating policies re: server usage"," - #3418 [bokehjs] [widgets] Update toggle.coffee"," - #3425 [server] Server breaks with tornado versions \u003c 4.3"," - #3427 Fixed json encoder import error"," - #3428 [bokehjs] Fix refefences clobbering"," - #3429 Periodic callbacks are invoked once when added"," - #3430 Refactor document callbacks"," - #3431 [bokehjs] Add missing logical connective"," - #3445 Add control over cross-origin websocket"," - #3446 Removed .value when retrieving outline_line_width for tile attribution"," - #3449 Fix unclosed file in resources _inline()"," - #3452 [models] Fix fontsizespec deprecationwarning"," - #3453 [bokehjs] Possible solution to store model instead of view on 0d selections"," - #3460 Fix error in snap_back. now will not request tiles outside of min/max zoom"," - #3462 [charts] Boxplot whisker, marker styles ignored"," - #3465 Esc does not clear selections"," - #3467 [bokehjs] Hover tool performance seems degraded"," - #3469 [bokehjs] Can't turn wheel zoom tool back on"," - #3472 [bokehjs] [server] Make plot use the title_panel from the server if one is provided"," - #3473 Dynamic map example: fixed issue with dynamic image becoming unhinged from basemap"," - #3474 [examples] Airports example: fixed panning/zooming and refactored to use figure"," - #3479 Lots of extra events on document load"," - #3490 Fix a leftover log message and broken log message in has_properties.coffee"," - #3500 [bokehjs] Bokeh.js must load first, before widgets, compiler"," - #3512 Make bokeh.js set window.bokeh not only bokeh in current scope"," - #3513 [server] Accept implicit port 80 on allowlist"," - #3525 Random tiles example: temporary fix for bounds issue on map"," - #3532 [bokehjs] Add support for inline autoload and restore support for inline resources in notebook"," - #3540 Graphs are not displayed when using runipy"," - #3547 Hotfix: don't exec bokeh embed until dom ready"," - #3550 [examples] Small fix in scatter.ipynb - allow making selection"," - #3560 Fix interactive excel example"," * features:"," - #578 [docs] Put plotting commands at the top of gallery pages"," - #718 Make it possible to add tools to bokehjs without modifying bokeh source"," - #900 Configurable ports for demos"," - #1450 [bokehjs] [starter] Wheel zoom interaction improvements"," - #1476 Glyphrenderer should have hover_glyph property"," - #2021 Transparent background"," - #2659 [bokehjs] Bokeh cdn doesn't support https"," - #2681 [bokehjs] Webgl line glyph"," - #2788 Opportunities for pyscript to efface js for bokeh users?"," - #2794 Server rewrite based on tornado"," - #2800 Implementation of user-defined models"," - #2805 [bokehjs] Add max_retry_attempts and retry_interval_ms for imageurlview"," - #2824 [bokehjs] Line annotation"," - #2900 [geo] Feature/add tile layer renderer"," - #2923 [bokehjs] Add support for htmlformatter in datatable"," - #2934 Exploration on splitting our tests"," - #2942 Feature request: constrain zoom out to fixed range/domain"," - #2949 [bokehjs] [widgets] Allow plots to be responsive also for available height"," - #2970 [charts] Bar chart : would be amazing to be able to use dataframe index as label"," - #2975 Support negative bar lengths"," - #3050 Feature/dynamic image renderer"," - #3080 [server] Add support for periodic callbacks on a session/server app"," - #3090 Add document.title and titlechangedevent"," - #3104 [server] Include version information in document.to_json json"," - #3112 Add document.get_model_by_name"," - #3119 [server] Add server timeout callbacks"," - #3129 Allow for configuring the ip address of the bokeh server"," - #3133 Improve locking and async for tornado server side"," - #3147 [server] Improve document changed events chain (multipledispatching)"," - #3171 `pull_session` should let you provide app_path, host, port"," - #3184 [bokehjs] [build] Add gulp dev-build task for faster development"," - #3189 Adding attribution for tile renderer"," - #3194 Better error reporting"," - #3202 Clean up bokeh command and add json subcommand"," - #3211 Rename propertygenerator to propertyfactory"," - #3219 Basic theming"," - #3261 Rename legend.{orientation-\u003elocation} and implement more locations"," - #3273 [docs] [server] Production bokeh"," - #3344 Bokeh subcommand to generate secret key"," - #3345 [server] Support --prefix for server"," - #3355 Enable autoload_server from a static page"," - #3360 Add ?v=contenthash to static paths served by the server"," - #3364 Tile wrap around"," - #3370 [bokehjs] Better approach to notebook comms:"," - #3387 [examples] Movies example"," - #3409 Server lifecycle hooks feature"," - #3437 [build] [examples] [models] [server] [widgets] Allow use custom models on the server"," - #3450 Some fixes to notebook patching"," - #3459 Add controls over who can create sessions; test session creation much better"," - #3507 [examples] Add examples with excel files"," * tasks:"," - #908 Remove columnref, etc"," - #945 [docs] Update examples to current bokeh status for clarity and simplification"," - #1246 Remove arraymanagement dependency"," - #1289 [geo] Remove geojsplot"," - #1726 Interactive tester improvements"," - #1773 Misc charts codebase improvements"," - #1814 Better variable names throughout bokeh.charts"," - #1917 Remove _glyphfunctions"," - #2194 [server] Distribute bokeh server separately."," - #2448 [docs] Document when the callback occurs on the textinput widget."," - #2491 [examples] Several plots throwing column length error (0.9.1)"," - #2572 Output_notebook resources"," - #2901 [docs] Update test dependencies listed on bokeh developer guide"," - #2911 [docs] Faq code block needs wrap"," - #2924 Turn off bar plot sorting by category axis labels"," - #2947 [docs] Automate examples generation in glyph model docs"," - #2952 Make widgets optional and refactor bokeh.resources"," - #2954 [docs] Line_dash attr in styling visual attributes doc incomplete"," - #2958 [docs] Make license obligations easier and clearer to understand"," - #2973 To_bokeh renders datetime ticks as integers"," - #2983 [branches] [server] Document and provide all defaults in python bindings"," - #2985 Refine coverage reports"," - #3005 [tests] Problems installing pytest-selenium"," - #3010 [tests] Add `.cache` to `.gitignore`"," - #3019 [tests] Restore examples tests on travisci as default action"," - #3024 [charts] Replace legacy charts with new ones"," - #3028 Remove leftover debugger statement from render loop"," - #3031 [examples] Bug: stocks.app does not work with pandas .17 because read_csv doesn't accept headers=false in .17"," - #3035 Make .clone private"," - #3042 [examples] Plotting/file/ajax_*.py examples are \"interactive\" (require server)"," - #3052 [docs] Documentation/python only tests"," - #3053 Bye bye cli"," - #3058 Remove superfluous server examples"," - #3063 New server docs fixes"," - #3065 Update numfocus contact email in docs"," - #3068 [docs] Document need to install futures on py27"," - #3079 Tests (and fixes) for plot resizing"," - #3088 Add plotobject.to_json and to_json_string"," - #3096 Lengthen timeout on test_client.coffee to 7500 from 2000 millis"," - #3103 [server] Mark document.add deprecated or remove todo comment above it"," - #3105 [server] Rename bokeh.application.spellings and spellinghandler"," - #3106 Rename `plotobject` to `model`"," - #3107 [server] Remove global `set_websocket_url` in embed.coffee"," - #3109 Property cache cleanups"," - #3111 Misc server examples"," - #3113 Keep-alive ping on server websocket"," - #3118 Add server.show() and `bokeh serve --show`"," - #3122 Py35 in travisci"," - #3132 [charts] Restore `chart(server=true)`"," - #3140 [bokehjs] Remove cruft related to old ar implementation"," - #3141 [branches] More work to sync coffee and python for tilerenderer / tilesource"," - #3144 [docs] [server] Change tone of docstring on server show() slightly"," - #3145 Hasparent: share one instance of display_defaults per class, not per instance"," - #3149 Fix commented out `push_notebook` method from columndatasource"," - #3150 Move columns out of datasource into columndatasource"," - #3152 Add a new geojsondatasource"," - #3160 Add checking for optional and required dependencies"," - #3181 [server] Rename spellinghandler to handler"," - #3185 [bokehjs] Selection of lines need improvements"," - #3190 Tweaks to the property system"," - #3193 [examples] Desired_num_ticks not working when using custom x_range"," - #3205 Warnings cleanup"," - #3208 [charts] Replace legacy donut chart"," - #3214 Checking for extra_patterns kwarg and forwarding to bokehtornado"," - #3223 Relax no_glyph_renderers validation"," - #3225 [examples] Add bokeh logo and a link to the gapminder demo"," - #3227 [charts] Remove legacy charts"," - #3228 [docs] Typos in documentation, comments, and strings"," - #3230 [docs] Add more missing calls to output_file in plotting"," - #3234 [bokehjs] Coffee units handling"," - #3236 [build] [tests] Ci build breakdown"," - #3242 Add tags default in coffeescript"," - #3248 Do not default numberspec/anglespec/distancespec to field name"," - #3251 [docs] [server] Bokeh command docs"," - #3255 [bokehjs] Correct lots of defaults to match between python and coffeescript"," - #3256 [bokehjs] Properties.coffee: remove dead code in distance._init angle._init"," - #3258 [bokehjs] Add skipped test to compare python and coffee defaults"," - #3262 [build] Check dependencies list for release"," - #3263 [docs] Add sphinx directive to create versioned links into the repo"," - #3264 Clean up developer guide"," - #3268 [charts] Remove pandas deprecation"," - #3278 [examples] Keep the output_file the same name as the example file"," - #3282 [server] Remove broken ws_url property from server"," - #3285 Remove unnecessary paren in error message"," - #3301 Plotting/file/burtin.py has validation warnings"," - #3311 [tests] Add charts/plotting and charts/file to testing locations, warning"," - #3326 [bokehjs] [tests] Finishes remaining js test_document todos"," - #3337 [bokehjs] [tests] Test that coffee/python sync issues are not increasing"," - #3351 Make `bokeh json` and `bokeh html` work in a similar way"," - #3354 [examples] [server] Add chdoig's scikit-learn clustering demo"," - #3367 [docs] Reduce the number of top-level items in the docs"," - #3374 Reorganize top level package"," - #3375 [examples] Cleanup embed examples"," - #3377 [examples] Cleanup interactions examples"," - #3382 [server] Periodic callback refactor"," - #3388 [docs] Bring documentation styling in line with bokehplots.com"," - #3391 [charts] Cleanup charts"," - #3400 [build] Remove caching mechanism"," - #3401 Server annotations"," - #3406 [examples] Plotting/file cleanup"," - #3407 [examples] [server] Plotting server cleanup"," - #3415 Revert \"server annotations\""," - #3419 [bokehjs] Default sync"," - #3422 [examples] Add streaming ohlc and macd indicator example"," - #3424 Remove crossfilter example and associated bokeh code"," - #3438 Hotfix: add file omitted by gitignore"," - #3439 Attempt to make widgets look a bit better"," - #3443 Turn off sending defaults to bokehjs"," - #3444 Add cast to sql query results"," - #3451 Remove for-now-unused \"working\" message"," - #3457 Add warning for bokeh-server"," - #3471 Examples tweaks and tasks"," - #3475 Pr for docs/examples tweaks for 0.11"," - #3477 [charts] [docs] Update charts docstrings and sphinx documentation"," - #3485 Remove legacy charts from example notebooks"," - #3488 Bokeh.resources.inline.render_js() unnecessarily exposes minor info about server in html (0.11.0.dev7)"," - #3491 [build] Bokeh-compiler.js not uploaded to cdn"," - #3497 Docs/examples tweaks for 0.11 (3)"," - #3498 Update readme.md"," - #3504 [examples] Fix selection histogram layout"," - #3516 Docs/examples 011 4"," - #3521 Add some more host and origin tests"," - #3522 Start cleaning up docs"," - #3524 Left justify hbox"," - #3527 [examples] Remove notebooks using server"," - #3536 [docs] Small tweaks to a couple of bits of markup"," - #3537 [docs] An initial \"server architecture\" chapter for the developer guide"," - #3544 [docs] Report that annulus is broken in release notes (+ typo fixes)"," - #3545 Hotfix set range defaults to ``none``"," - #3549 Revert \"hotfix: don't exec bokeh embed until dom ready\""," - #3554 Clean up numerous inconsistencies"," - #3557 Fix more examples"," - #3559 Fix geojson user guide plot"," - #3561 [docs] Docs updates","","2015-09-25 0.10.0:","--------------------"," * bugfixes:"," - #1335 [geo] Gmap points don't move consistently"," - #2172 [docs] Incorrect image sizes in bokeh documentation"," - #2332 [bokehjs] Sub-second timezone strftime support"," - #2444 Legend does not accept none as a border_line_color"," - #2550 [docs] Scrolling on info page of user guide is broken"," - #2619 [docs] Doc: broken plot in user guide"," - #2785 [bokehjs] Imageurl glyph initial render is incorrect"," - #2787 Regression in bokeh-server (client side?)"," - #2801 [bokehjs] Bug in linear_color_mapper palette generation"," - #2816 [charts] [examples] Charts donut nb example raise a long set of warning"," - #2818 [charts] Categorical charts use `:` to set categories"," - #2835 [docs] Embed docs missing required closing script tag"," - #2846 Be more selective when you look for the id"," - #2848 Workaround to local installation"," - #2853 [docs] Fix typo. snipped -\u003e snippet"," - #2855 Fix gapminder notebook \u0026 clean-up unecessary triggers"," - #2868 Clean-up tests, pytest fixture overrides, add the new sensitive-url parameter"," - #2872 Skip remotedatasource column warnings"," - #2878 [tests] Nvm install failing on travisci"," - #2887 Wrap testing import so testing libraries aren't required"," - #2894 [bokehjs] Line join property broken"," * features:"," - #1128 [docs] Documentation checklist"," - #2375 Allow more subtle uses of resources - provide lower-level jsresource \u0026 cssresource"," - #2678 Make plots responsive"," - #2782 Create example of using hover tool to display custom images"," - #2802 Add alpha control for imageurl objects"," - #2823 Hardcode some dark colors for theme idea \"1b\""," - #2829 Have glyph methods return the glyph renderer, not the plot"," - #2834 Changes to tornado pr"," * tasks:"," - #1143 [docs] Widget docs, examples and deprecation status"," - #1514 [docs] Add docs for ipython notebook interactors"," - #2563 [docs] Autoload_server docs issues"," - #2662 [docs] [examples] Bokeh needs migration guide"," - #2705 [docs] Faq - add note `make sure to close all script tags` message"," - #2743 Remove 3.3"," - #2751 [build] [tests] Remove 3.3 from testing and building"," - #2768 [docs] Scientific citation"," - #2769 Annotations should get an abstract base class"," - #2783 Remove 0.10 references"," - #2795 Pin ipython and ipython notebook to 3.2.1"," - #2797 Pin ipython and ipython notebook to 3.2.1"," - #2798 Remove hard dependency on scipy in mpl_helpers"," - #2806 Task/build fixes"," - #2809 Fix regex to take 0.10.0 versions"," - #2811 Merge dev 0.10 branch back to master"," - #2815 Do we want to deprecate callbacks in 0.10 or push out further?"," - #2827 Better names for the devel builds"," - #2831 [docs] Customjs for widgets on bokeh webpage"," - #2832 [docs] Circle_x method example is broken in reference guide"," - #2843 Fix regex again"," - #2844 Pytest-selenium 1.0b1 does not use the --destructive argument"," - #2858 Update example - cities gmap"," - #2880 [build] Replace nvm for a conda package"," - #2889 Add .gitignore files to examples directories that didn't have it"," - #2902 [build] [examples] Collect hotfixes and examples fixes for 0.10.0 release","","2015-08-28 0.9.3:","--------------------"," * bugfixes:"," - #1863 [docs] Docs - images overlapping at certain viewports"," - #2413 Datetimetickformatter format attr ignores %n %t chars"," - #2486 Test_matrix errors"," - #2508 [starter] Multiple select doesn't work on linked_tap_server example"," - #2515 [docs] Doc: broken plots in examples"," - #2518 [docs] Clarify docstrings on timeseries"," - #2533 Compat/seaborn/violin.py is broken"," - #2559 Support camelcase css names"," - #2631 [bokehjs] Dropdown always returning the last menu item"," - #2645 [bokehjs] Fix previewsavetool dom elements not being removed"," - #2651 [docs] Sphinxcontrib-napoleon extension loaded incorrectly"," - #2658 [docs] Fix typo in legend user guide: s/p.grid/p.legend/"," - #2664 [bokehjs] Inconsistent handling of `null` in common/properties.coffee"," - #2665 Gear.{angle,module} have their types mixed up"," - #2669 [docs] Broken link for css colors"," - #2674 [bokehjs] [regression] Renderers are still sorted improperly"," - #2682 Updating glyph style from javascript not working"," - #2690 [docs] Fix typo on image glyph docstring"," - #2698 Plot.text(legend=\"\") results in console traceback and clipped legend rendering"," - #2708 [docs] Fix typo in example code of server deployment docu"," - #2709 [bokehjs] (0.9.3) bokehjs not loading in ipython notebook"," - #2712 [examples] Fixes for the us_marriage example"," - #2728 [bokehjs] Html escaping in hovertool not working"," - #2742 [build] Fix upload of js and css into the cdn"," - #2755 [bokehjs] Components on multiple objects duplicates objects in all_models"," - #2767 [tests] Fix comflict (not merge conflict) because of those inter-related prs"," - #2770 Remove hash from elementid"," - #2773 [tests] Disable canteen and xfail integration test"," - #2779 Hotfix/taptool not responding to callback"," * features:"," - #1238 [starter] Support horizontal or vertical spans (similar to aaxhspan/axvspan in matplotlib)"," - #2392 Alerts for the \"white screen of death\""," - #2455 Active tab not reflected"," - #2537 [examples] Interactive example: u.s. marriages and divorces chart with tooltips"," - #2614 Add a warning for : in categorical strings"," - #2625 Add background fill properties for legend"," - #2626 Add channels to \"extra\" section in meta.yaml"," - #2627 Make raw_components version of bokeh.embed.components"," - #2671 [bokehjs] [build] Clean up gulp source mapping"," - #2739 Do not zoom if boxzoomtool selects range \u003c= 5 pixels"," * tasks:"," - #1984 [tests] Investigate the use pytest instead of nose"," - #2117 [docs] Mention nonselection_glyph and selection_glyph options in tools documentation"," - #2419 Setup.py not deleting pycs"," - #2499 Use bokeh.$ in server test template tab_play?"," - #2544 [docs] Docstring for hovertool needs updating as does now work with line"," - #2581 [docs] Columndatasource.from_df class method doesn't return columndatasource instance"," - #2609 Hotfix/fix docs"," - #2612 [docs] Server error https://bokeh.pydata.org/en/latest/docs/gallery.html"," - #2613 [docs] Small changes to development documentation"," - #2642 Add aliases to --build_js/--install_js in setup.py"," - #2650 Fix to take version into the fab deploy script"," - #2654 [docs] Clean up models section of reference guide"," - #2660 [build] Add support for --build-dir argument to gulp build"," - #2668 Remove the data tables example from plotting"," - #2691 Better hit testing for quads"," - #2697 Transfer demos from digital ocean to aws"," - #2703 Prevent bokeh from eating scroll events if wheel tool isn't active"," - #2706 Setting node to current stable (0.12) on travisci"," - #2714 [build] Change binstar to anaconda after some name changes in the anaconda stuff"," - #2718 [tests] Added mocha test for wheel event propagation"," - #2726 [tests] Task/selenium tests"," - #2727 [branches] [tests] Broke out into functions for more testable code"," - #2735 [branches] Added simple test to show that tz always uses utc"," - #2778 [examples] Collect hotfix for examples and release highlights","","2015-07-23 0.9.2:","--------------------"," * bugfixes:"," - #735 Inconsistent conversion of np.nan to json data in bokehjs"," - #1005 Nan in data source column causes problem with glyph interface"," - #1039 Bokeh server can display an empty document without any visible errors"," - #1075 [tests] Test failure if websocket client is not installed"," - #1139 Hover tool swaps sides at an off-center position"," - #1176 Session.store_document() fails in table_server example"," - #1264 Stock app fails to refresh after drop down is updated"," - #1381 Fill_color argument doesn't handle rgb(a) tuples properly"," - #2513 Fix release script failures"," - #2514 Bug: all patches vanish on selection"," - #2524 Setting a fixed font size value as a string is deprecated warnings"," - #2529 [docs] Internal server error on quickstart"," - #2582 [bokehjs] [regression] Slow plot rendering for 0.9.1"," - #2586 [bokehjs] Decimated glyph needs visuals set also"," - #2593 [docs] Fix typo in charts user guide"," - #2600 [bokehjs] Hotfix/fixed ticker"," * features:"," - #194 [widgets] Widget/controls integration"," - #2379 Get a warning about an invalid column name"," - #2496 Improve mouseover information in texas example"," - #2548 [bokehjs] Need more control over ticks and gridlines"," * tasks:"," - #2441 Warning when instantiating plot with no arguments"," - #2540 Add console warning when bokeh-plot fails"," - #2541 [docs] Breaking out inline plot examples in user guide into files"," - #2543 Mpl update"," - #2546 Clean up examples, use standard bokeh.io output"," - #2547 [docs] Fix typo in components deprecation message"," - #2554 [branches] Fix bug on ie (avoid using indices)"," - #2577 [docs] Editing up to concepts"," - #2598 Serializing data with numpy optional"," - #2605 Hotfixes 0.9.2","","2015-07-03 0.9.1:","--------------------"," * bugfixes:"," - #1254 [docs] Setting small plot_width or plot_height to categorical plot without min_border"," - #1255 [docs] Bokeh.embed.components second parameter not optional"," - #1926 [docs] Tap_select tool is actually tap"," - #2040 Expose level parameter in python"," - #2161 Color tuples not supported"," - #2176 Fix error: unable to parse uri to data"," - #2245 Bokeh-server --url-prefix is being ignored"," - #2282 [starter] [tests] Testmatrix script not in sync with bep 2"," - #2303 [build] Tagging on release produce wrong names in binstar packages"," - #2306 [bokehjs] [regression] Fix issues preventing bokehjs 0.9 working on jsfiddle site"," - #2311 [bokehjs] [docs] Broken link to help pages from bokeh plots"," - #2316 Text glyph font size from columndatasource field not working in 0.9"," - #2329 Diamond/diamondcross both show diamonds"," - #2336 [docs] Categorial heatmap gallery example missing (bad path)"," - #2338 Valueerror: min() arg is an empty sequence"," - #2356 [bokehjs] Force glyphs to always beginpath before rendering"," - #2357 Crosshairtool lacks \"dimension\" property"," - #2359 [docs] Animated line and animated glyph gallery examples are broken"," - #2365 [examples] Compat/seaborn/sinerror.py is broken"," - #2366 Patches doesn't render with reversed ranges"," - #2376 Hover on discontinuous patches"," - #2396 [bokehjs] [docs] Tools seems to be broken in latest version of chrome and chromium"," - #2416 Datetime scalar transformation loss of resolution"," - #2431 Datarange1d start and end bug"," - #2436 Bokeh jquery overriding previously loaded jquery"," - #2445 Prevent non-compliant json generation"," - #2459 Hotfix for components"," - #2478 [examples] Pin seaborn version"," - #2482 Deactivate tests before building to avoid huge packages"," - #2484 Use the correct extension"," - #2498 Use bokeh's jquery for server template"," * features:"," - #602 Add object integrity validation"," - #1727 Add categorical y axis"," - #1754 `to_bokeh` ignores alpha"," - #1873 [docs] Palette argument for charts not well documented"," - #1960 Throw exception if nonexistent keyword arguments are given"," - #2100 Fix handling of initial columns in crossfilter"," - #2213 Feature: bokeh-server with https enabled"," - #2335 Tab completion for splattable lists"," - #2348 Extend embed.component to let multiple objects be rendered in multiple divs"," - #2354 Add support for `styles` in google map `map_options`"," - #2368 [bokehjs] Minor grid lines"," - #2371 [docs] Add mailing list to gmane"," - #2390 [examples] Slider demo - animated bubble"," - #2410 Allow users to specify jinja2 template variables"," - #2411 Task/add range update callback"," - #2465 Callback for box selection tool"," * tasks:"," - #850 [docs] Clarify how axes can be labelled"," - #853 [docs] Widget documentation"," - #2234 [bokehjs] Better bokehjs debug mode"," - #2293 [docs] [starter] Update bep2 install instructions"," - #2302 Updating bokeh server image"," - #2305 [docs] Server section on user guide"," - #2308 [build] [docs] Improve some tooling around version reporting"," - #2309 [docs] User guide improvements/typo corrections"," - #2313 [docs] Sampledata.download() defaults to home directory"," - #2320 Remove extra whitespace"," - #2322 [docs] [doc] changed `tap_select` to `tap`"," - #2337 [docs] Change binstar.org references to anaconda.org references"," - #2342 [build] Remove sbt-based build system"," - #2343 [docs] Keep output html filename consistent with exercise name"," - #2358 [examples] Added palettes example to gallery"," - #2400 [branches] Extend embed.component to let multiple objects be rendered in multiple divs"," - #2403 [branches] Added test, improved conditionals"," - #2404 [branches] Added error prompt wth message"," - #2406 [branches] Added document support alongside plotobject"," - #2407 [branches] Line too long"," - #2412 [bokehjs] Standardize callback interface with args"," - #2420 Build enhancements"," - #2421 Quasi-complete automation"," - #2433 Spectrogram improvements"," - #2440 Allow gridplot.select uses name \u0026 type paramters"," - #2457 [examples] Add example plotting widget with play stop"," - #2477 Add hovertool callback examples"," - #2481 [docs] Open docs pr for 0.9.1 release"," - #2483 [examples] Open pr for small example (only) updates for 0.9.1"," - #2485 Elide some unnecessary checks for map plots"," - #2510 [docs] Add 0.9.1 release highlights"," - #2511 Revert some automated commits","","2015-05-15 0.9.0:","--------------------"," * bugfixes:"," - #746 Grid without axis?"," - #1479 Indicator of stacked hover tooltip has vertical offset"," - #1599 Glyph renderer not masking data before rendering"," - #2066 Angle property not working for square glyph"," - #2095 Examples/glyphs/data_tables.ipynb error"," - #2105 Release_update.sh is generating a superfluous \"id\" package"," - #2119 Simpleapp broken"," - #2124 Stock_app_simple.py does not respond to 2. change on the dropdown field"," - #2128 [examples] Simpleapp stock demo histograms not updating on selection"," - #2130 [docs] Fixed typo in documentation"," - #2134 Selections not working with nominal/categorical axis"," - #2153 [docs] Fix typo, example has two css, one should be js"," - #2158 [charts] Color cycles for bokeh charts"," - #2180 Add shrinkwrap to lock to versions and upgrade jsdom"," - #2217 [regression] Selection_histogram example broken after new hit_test redesign"," - #2228 [docs] Update quickstart.rst"," - #2231 [bokehjs] Multiselect broken"," - #2233 [bokehjs] [regression] Vboxform broken"," - #2238 Avoid layout breaking when simpleapp managing buttons"," - #2246 [regression] Update datarange1d that wasn't updated on notebook after last api change"," - #2253 Run binstar upload in the correct 'scripts' location"," - #2256 Use another env variable is case of weird previous use of the i var"," - #2258 Pin binstar until binstar build fix the platform path problem"," - #2261 [docs] Fix two small typos"," - #2262 [bokehjs] Direction is not being passed to draw_legend in annular wedge, arc, and wedge"," - #2269 [bokehjs] [regression] Hbox/hplot broken"," - #2278 Examples failures"," - #2280 [docs] Doc: grammar fix for intro to models"," * features:"," - #351 Cycle colors for plots"," - #1486 Add line hit testing and hover inspection along lines"," - #1517 Change datarange objects to query renderers for preferred bounds"," - #1519 [starter] Add simple lod downsampling on the client side"," - #2098 Decimal.decimal cannot be sent across session"," - #2112 Remove as much of src/vendor as is practical"," - #2137 Move data sources on to glyphrenderers"," - #2140 [bokehjs] [build] Streamline bokehjs build in develop mode"," - #2151 [docs] Add cdn links in embedding docs"," - #2156 Add an option to remove the `help` button of the bokeh toolbar"," - #2174 Simple callback action"," - #2178 Add a \"callback\" to a source.selected event"," - #2185 Allow users to specify a desired number of ticks"," - #2207 [docs] User guide rewrite"," - #2275 [examples] Initial commit of color_sliders.py"," * tasks:"," - #1751 Remove pinned packages"," - #2038 [bokehjs] [build] What is the best way to develop bokehjs with incremental rebuilds?"," - #2078 [tests] Use pyflakes"," - #2087 Simplifying glyph units"," - #2106 Setup.py build message improvements"," - #2126 [examples] Update selection histogram example"," - #2132 Reduce bokehjs boilerplate"," - #2139 [docs] Updating exercises to match current master"," - #2146 Automatic devel build only in py27 in the new travisci matrix"," - #2168 Remove extraneous comma from unemployment csv"," - #2196 Bokehjs install failing because dependencies source doesn't exist"," - #2211 [bokehjs] [regression] Make relative dev work again"," - #2224 Make a script to check for dev and docs dependencies"," - #2237 [docs] Update readme.md"," - #2241 [build] Obsolete protocole sslv3"," - #2254 Revert \"run binstar upload in the correct 'scripts' location\""," - #2257 Follow-on for user guide"," - #2285 Setup.py: note that this also works with `develop`"," - #2296 Remove '*' imports from examples"," - #2298 [tests] Add info in the warn message about some missing dependecies","","2015-03-25 0.8.2:","--------------------"," * bugfixes:"," - #1064 Invoking nosetests doesn't always work properly"," - #1659 Explicit notebook display codes not working"," - #1901 Charts xlabel and yabel defaults"," - #1913 [build] Try to make y.y.yrc, not y.y.y.rc in dev build to avoid being listed above y.y.y release"," - #1953 Develop installation fails: no such file or directory: '/usr/lib/python3.4/site-packages/bokeh.pth'"," - #1956 [starter] Two instances of autoload_server??"," - #1973 [starter] Logging.basicconfig should not be called by 'import bokeh'"," - #1978 Restore glyph/trail.py (and fix the hover not working)"," - #1983 Never use empty dict/list as default argument"," - #1988 [starter] Use absolute_import throughout"," - #1990 [bokehjs] Bokeh should use a private jquery"," - #2001 [bokehjs] Map config not used for main.coffee it seems"," - #2002 Check boxplot equation"," - #2011 [docs] Fix grammar error"," - #2024 [bokehjs] Ugly buttons when plotting inside notebook on firefox 36"," - #2041 Load_notebook depends on utils.py which depends on flask"," - #2048 [charts] Cannot seem to make x-values different than default in line"," - #2063 [build] Fix dev fingerprint check on version"," - #2067 [bokehjs] Spectrogram coffee needs recompile"," - #2074 [docs] Typo in stock_applet docs for moving quantquote data"," * features:"," - #1218 Use production quality server for bokeh-server"," - #1784 [starter] Automatically fill masked arrays when encoding"," - #1797 Preliminary work to get bokehjs working in node.js"," - #1881 Feature/simpleapp"," - #1898 [bokehjs] Ajax realtime improvements"," - #1998 [docs] Visual hierarchy on autogenerated docs could be clearer"," - #2033 Is there any reason why p.select() shouldn't take **kwargs?"," - #2062 [docs] Userguide intro and interfaces"," * tasks:"," - #1916 Collect implicit interfaces into a single module"," - #1927 [docs] [examples] Bokeh-notebooks needs update to use the new plotting api"," - #1936 Use _.isxxx(x) instead of typeof(x) == \"xxx\""," - #1949 [examples] [tests] Tests scripts enhancements"," - #1961 [tests] Don't log intentional exceptions during tests"," - #1966 Release 0.8.1"," - #1970 Change default bokeh server backend to \"memory\""," - #2010 Deprecate vbox/hbox in plotting and charts"," - #2017 [tests] Update tests/travis/nbexecuter to ipython 3"," - #2023 [docs] Update/refresh installation guide and quick start"," - #2043 [docs] Incorporate quickstart feedback"," - #2047 Clean up __init__.py"," - #2051 Simplify bokeh/__init__.py even more"," - #2070 [docs] Minor style changes to interfaces docs"," - #2073 [docs] User guide edits","","2015-02-23 0.8.1:","--------------------"," * bugfixes:"," - #1801 Bokeh server crashing when reloading flask app"," - #1909 Make tooltips properly centered on data points"," - #1910 [docs] [examples] Fix charts gallery"," - #1914 Remove spurious curplot"," - #1918 Nameerror: name 'jsbuild' is not defined"," - #1920 [regression] Examples/plotting/file/hover.py broken after 0.8 release"," - #1921 [docs] [regression] Tutorial gallery is broken"," - #1922 [examples] App_reveal fails importing old plotting stuff"," - #1925 [docs] Docs error in chart section"," - #1933 [docs] Bokeh glyph quick reference 404 (docs)"," - #1940 Spectrogram needs updating to use figure()"," - #1943 `publishing` example from the `embed` directory fails"," - #1945 [docs] More broken doc links"," - #1946 [docs] Fix charts on userguide showing old functionality"," - #1963 Feature/fix ar zoom"," * features:"," - #899 [docs] Hosted server examples in the gallery"," - #1929 [starter] Image glyph method should have a default palette"," * tasks:"," - #1731 [docs] Add a section about bokeh-scala/bokeh.jl/... to main documentation"," - #1905 Better error messages for blaze version mismatch"," - #1908 Release 0.8.0"," - #1962 Hot fixes for examples","","2015-02-16 0.8.0:","--------------------"," * bugfixes:"," - #165 May need to dilate canvas 1px"," - #766 Resize handle offset when there are axis labels"," - #833 Screen units for x,y"," - #1221 Call to `show()` not displaying figure in ipython notebook"," - #1286 Decouple show method in charts"," - #1296 Map_from_screen broken"," - #1305 [docs] `cd sphinx; make html` fails"," - #1522 Tools \"help button\" issues"," - #1578 Donut charts example not drawing annular lines"," - #1584 Investigate serialization of alpha values"," - #1702 [build] Running bokeh-server in development environment under windows"," - #1705 [docs] Reset doesn't reset box select"," - #1709 [examples] Selection_update stack trace when doing pan/zoom/select ops"," - #1717 [docs] Documentation: wrong title font property name in user guide"," - #1721 [docs] Documentation: user guide describes unsupported axis locations"," - #1723 [bokehjs] Setting plot_{width,height} doesn't work"," - #1738 [docs] [starter] Reference guide formatting issues"," - #1749 [bokehjs] Datatable requires columndatasource to have an `index` field"," - #1753 Make sure sys is available for sys.exit() call on failure"," - #1761 Importing bokeh breaks standard python if ipython also installed"," - #1775 Using bokeh keyword in host url affect config.prefix value"," - #1787 [docs] Autoload script examples out of date"," - #1798 Use_prefix for include not functioning completely correctly"," - #1809 Seems to be some curplot leftover in the codebase"," - #1821 Bokeh ipython magic imports plotting.hold, but plotting.hold is dead"," - #1824 [regression] Bokeh_pretty doesn't have an effect"," - #1835 Enable runs of travisci in branches tagged with xxx.dev[rc].xxxxxxxx form"," - #1837 Fix any caracther in the ruby regex to support the tag containing sha"," - #1838 Hotfix for files encryption"," - #1839 [docs] Fix parameter name: host -\u003e root_url"," - #1840 Fix broken werkzeug import in bokeh-server"," - #1864 Fix charts not working with server"," - #1876 Boxplot chart does not work with iterables of lists"," - #1896 [docs] Fix up docstring table rendering in sphinx"," - #1897 [docs] Make source location in glyphs docstrings be actual links"," - #1902 Feature/server gallery"," - #1904 [examples] Change [x,y]_label to [x,y]label in charts examples"," * features:"," - #380 Add some examples of mplsupport inside ipython notebooks"," - #586 [tests] Add sphinx tutorials to travis"," - #626 [starter] Make radius dimension configurable for circles"," - #749 Adding support for a constrained box zoom"," - #822 [docs] Update docs with architecture diagram"," - #842 [bokehjs] Add axis label formatters (sprintf-style, etc.)"," - #889 Bokeh.plotting.patches line_dash argument only takes a list"," - #987 [starter] Pan and zoom in categorical plots"," - #1091 [bokehjs] Text autocomplete widget"," - #1217 Make bokeh-server gunicorn friendly"," - #1257 Embedding using matplotlib compatibility layer"," - #1281 Scatter doesn't have box zoom"," - #1375 Load bokehjs in a notebook during `import bokeh`"," - #1464 Charts palette should be configurable"," - #1478 [bokehjs] Hoverplot.tooltips should allow html and/or markdown and/or"," - #1515 Restore bokehjs interface"," - #1546 We need to support bokeh[version].[min].js[css] in the cdn to support devel builds"," - #1574 charts should be subclasses of plot"," - #1635 Implement blaze/remote data source to support streaming data in plots"," - #1682 Ajax/json data source"," - #1703 Extending/fixing crossfilter"," - #1730 Being able to hide the axis"," - #1733 Adding horizon high-level chart (clean version)"," - #1734 Bound needs to accept datetime obects"," - #1746 [docs] Add simple inline examples to all or most plotting.py glyph functions"," - #1768 Enable tabbed faceting on crossfilter"," - #1779 Try to only build on master"," - #1780 Negative bar charts"," - #1786 [starter] Vbox/hbox should accept single list as well"," - #1788 Build on travis ideas"," - #1792 Allow grids to shade alternating bands"," - #1795 [bokehjs] Tap+open url"," - #1799 Copy on write"," - #1802 [examples] Add glyphs/linked_tap_server example"," - #1815 Step chart should use line, not segment"," - #1816 [docs] Add bokeh-plot examples to chart docstrings"," - #1823 Add support for bokeh_dev=true python something.py"," - #1858 Feature/multiuser applet support"," - #1862 Hotfix to support local docs with a correct bokehjs"," - #1887 Feature/blaze interface"," * tasks:"," - #906 [docs] Axis and grid needs an update in the user guide"," - #946 [docs] Columndatasource documentation update"," - #1060 [docs] Document that some ar example need scipy + pil to work"," - #1148 [build] Dev build sdists do no carry correct version info"," - #1170 [docs] Need documentation for bokeh server"," - #1503 [bokehjs] Remove unused datafactorrange"," - #1518 [build] Build/release automation improvements."," - #1540 Some improvements on the devel build"," - #1568 Programmatically upload bokeh js/css to the container"," - #1571 Remove deprecated plotting api"," - #1593 Scatter plot demo with linked density histograms"," - #1656 Plotting.gridplot setting id from name"," - #1687 Release 0.7.1"," - #1688 [docs] Documentation build improvements"," - #1690 [docs] Sphinx autoprops dependency for bokeh models"," - #1692 [docs] Better reported version for deployed dev docs"," - #1694 [docs] Sphinx plot extension directive"," - #1695 Pin scipy"," - #1696 Selection/histogram minor issues"," - #1697 Load_notebook doesn't work with ipython master"," - #1712 [examples] Charts examples should split file/server/notebook"," - #1728 [docs] Timeseries tutorial formatting improvements"," - #1739 Create test matrix script"," - #1743 [docs] Add to doc best use of push_notebook for interact style things, not streaming"," - #1745 Catch ioerror in load_notebook and add logging to the python side"," - #1747 [docs] Document all model attributes"," - #1750 Temporary fix until conda get fixed with python3"," - #1755 Wip fix for conda build"," - #1758 Check apps are in sync with the new api"," - #1765 Task/remove bokeh js"," - #1766 [examples] [tests] Move/rename examples.html"," - #1770 Remove debugging lines"," - #1771 Add doc build to the devel build script"," - #1777 Feature/deploy"," - #1794 [docs] [labels] Add \"starter\" tag"," - #1813 [docs] Document new charts design"," - #1817 Split chart builders into a sub-package"," - #1818 [tests] Improve/re-org charts tests"," - #1819 Use properties for private models and builders in bokeh.charts"," - #1834 [build] Pin conda-build to get travisci running again"," - #1843 Rename range property to interval"," - #1846 [docs] Add proper docs for properties.py"," - #1860 [docs] Split up dev guide into multiple files"," - #1867 [docs] Clearer docs, new section about installing npm and nodejs"," - #1870 Rename get_data, get_source, prepare_values, draw builders methods"," - #1884 Remove click for dependencies"," - #1885 Axis.hide should have been called axis.visible"," - #1889 Delete click from the conda recipe"," - #1899 [docs] Change docstring example with better data","","2015-01-12 0.7.1:","--------------------"," * bugfixes:"," - #127 Implement proper caching headers and gzip on bokeh.pydata.org"," - #167 It is possible to outrun the resize tool edit"," - #236 Opening a notebook containing embed.js causes typeerror if bokeh-server was restarted"," - #382 Hover tool pops up in odd places in the notebook"," - #520 Let escape reset selections"," - #593 Gridplot breaks layout / overlaps next input cell in ipython notbook"," - #821 Need explicit synchronization for render loop"," - #1265 Handontable rendering issue"," - #1316 Examples/app/stock_applet does not work when embedded"," - #1385 Server/image.py example failing on master"," - #1397 Dropdown tool buttons don't have tooltips and dropdown menus broken"," - #1409 [tests] Tests sometimes fail with `websockettimeoutexception` on travis-ci"," - #1490 Scatter chart auto creates wrong x/y labels"," - #1510 [regression] Hover tool behaviour with multiple renderers"," - #1513 [build] Update tutorial gallery to new plotting.py api"," - #1523 [docs] Gallery thumbs out of sync"," - #1527 Dot chart segment badly renders in some use cases"," - #1529 Donut chart is broken when called with dataframe inputs"," - #1535 [docs] Obsolete returned value in plotting.figure() documentation"," - #1539 Debugjs setting was broken"," - #1545 Grey9 very light with 0.7.0"," - #1551 Donut chart is broken when called with iterables of non float values"," - #1554 Mpl.to_bokeh() should return a handle to the plot"," - #1556 Travis ci failures"," - #1592 Bokehjs unrecoverable errors in notebook"," - #1601 Plotting.save still relies on global state"," - #1605 [regression] Remove 0xa0 characters (and encode source files properly)"," - #1606 $ can get overridden in the notebook"," - #1613 [docs] Corrected typo to fix issue #1612"," - #1621 Charts behaviour when notebook=true and server arguments are specified"," - #1622 Minor selection bugs"," - #1625 Plot.add_tool wrong error message"," - #1627 [regression] Resources(..., minified=false) in bokeh.plotting"," - #1628 Typo fix ``line_with`` -\u003e ``line_width`` in ipython interactive widgets notebook example"," - #1643 Don't request_render() twice during plot initialization"," - #1644 Hovertool with snap_to_data=true fails on some glyphs"," - #1654 Line downsample zoom to fine-level detail results in error on js client"," - #1658 [docs] Fix typo"," - #1660 Pan/zoom being allowed on categorical charts"," - #1679 Slider should accept float stepwise"," * features:"," - #190 Selection architecture"," - #596 Need to support italic+bold font style in textproperties enum"," - #646 [docs] Specifing a parameter without any usage does not result in a warning"," - #696 There should be a way to control order that renderers are drawn"," - #978 Bokeh command line tool"," - #1134 Add_glyph()'s signature should have `glyph` as the first argument"," - #1220 Histogram normalization"," - #1459 Charts should make tools configurable"," - #1484 Add glyphs/sprint example"," - #1489 Authentication refactoring"," - #1507 Odd histogram behaviour"," - #1516 Easy range1d interface"," - #1524 Some matplotlib markers are not handled correctly"," - #1538 [tests] Add charts base tests"," - #1557 Mpl.to_bokeh() should use the same tools found in bokeh.plotting.figure"," - #1567 Use the containerized travisci infrastructure"," - #1629 Charts.gmap class"," - #1636 Gridplot should accept none for empty positions"," - #1657 Add/improve minimal cli features"," - #1663 [docs] [documentation] on embedding"," - #1665 [docs] Embed simple"," * tasks:"," - #1129 [docs] Bokehjs documentation nor source does not mention that it uses jquery and jqueryui"," - #1406 Remove bokeh.{objects,glyphs,widgets}"," - #1471 [tests] Add tests for dataadapter and new charts implementation"," - #1472 Remove bokeh.charts.categoricalheatmap and promote heatmap as only heatmap chart available"," - #1475 Improve bokeh.chart code style and docstrings"," - #1506 Release 0.7.0"," - #1537 Use conda graphviz package"," - #1544 Use more specific type for plot.{left,right,above,below}"," - #1548 [docs] S/dic/dec"," - #1550 [docs] Fixed typo: bojehjs -\u003e bokehjs"," - #1553 [docs] Update readme.md"," - #1575 Don't \"fix\" singleton array case when expected type is array"," - #1579 [docs] Auto document json for bokeh.models"," - #1580 Provide hooks to easily dump models with all properties"," - #1581 [docs] Write script to integrate all bokeh.models and their json into dev docs"," - #1583 Remove crufty glyph properties"," - #1590 Add missing properties to ticker classes"," - #1593 Scatter plot demo with linked density histograms"," - #1594 Additional kernels for numba examples"," - #1596 Streaming netcat example for bokeh cli tool"," - #1597 Interactive filter using cli tool"," - #1598 Twitter scrapping map demo using cli tool"," - #1600 [docs] Documenting relations between bokeh and yhat/ggplot?"," - #1604 [tests] Add some widget testing and minor fix for object testing"," - #1607 [docs] Update release notes on pydata.org"," - #1608 [docs] Docs build/deploy improvements"," - #1610 [tests] Examples using yahoo's finance data should use a fixed period"," - #1612 Typo in chartobject error message when filename argument is missing"," - #1619 [docs] Fix broken link to quickstart"," - #1661 Small fixes or updates to demos leading to 0.7.1 release"," - #1675 [docs] Misc docs updates leading to 0.7.1 release","","2014-12-05 0.7.0:","--------------------"," * bugfixes:"," - #598 Hover tool doesn't work with gridplot"," - #616 Less build doesn't properly detect changes"," - #623 Issue with inverted ranges"," - #704 Errow message in windows"," - #798 Embedded notebook style problem"," - #802 Toolbar hidden behind gridplot when wrapped"," - #804 Spaces in file name causes problems when distributing via rdist on unix-like os"," - #808 Cannot style minor ticks"," - #827 Spectrogram app not working: custom.coffee missing"," - #870 Need real solution for mpl plot clone problem"," - #881 Changes script output needs manual intervention"," - #919 Bokeh/examples/glyphs examples broken"," - #926 Legends don't appear on a plot in the order they're given"," - #927 [docs] Bad state on save"," - #936 Remove google maps js from _page_base.html"," - #972 Hover in plots stops working in angularjs upon navigation"," - #983 [docs] Bar chart is not documented"," - #1021 Running stock_app and slider_app fails on reload"," - #1027 [regression] Bokeh 0.5 over 10x slower than 0.4.4"," - #1055 Current setup.py install released js with devel build using pip but not with conda"," - #1062 Cleaning some examples failures"," - #1076 [tests] Mpl 1.4.0 is causing failures in test through the mplexporter"," - #1192 `conda install bokeh` not installing pyzmq"," - #1202 Gridplot() renders new toolbar in a funky way"," - #1245 Wheel zoom not working with chrome"," - #1252 Tool order inconsistent across all examples"," - #1267 Mapoptions json encoding problem"," - #1271 Fix for axis types string comparision (is vs ==)"," - #1287 Sorting/selecting broken in ht example"," - #1293 [regression] Plots with vertical toolbar have extra space above the plot"," - #1295 Make selection geometry available to the python side"," - #1298 Line_color=none not respected"," - #1299 Multiple plots now stack horizontally"," - #1300 Hover tool does not display"," - #1303 Stocks app histograms do no update on selection"," - #1306 Crossfilter filter does not work"," - #1313 'help' button text box sometimes disappears before you can click 'learn more'"," - #1314 Tools don't have a blue underline in notebook and server examples"," - #1319 Bokeh.charts.bar displays overlapping bars"," - #1320 Multiple gmapplot instances on a single document causes errors"," - #1337 Build_palettes.py not python 3 compatable"," - #1338 Bugfix/py3 palettes (closes #1337)"," - #1342 Linked brushing broken in notebook"," - #1343 Gridplot causes javascript error in notebook"," - #1348 Fix gridplots with hover tools"," - #1367 Properly set map div height"," - #1377 Data table not displaying"," - #1378 [docs] Fix spelling: s/embded/embed/"," - #1380 Fix \"python setup.py build\""," - #1384 - fixing document merging"," - #1386 [regression] Fixing crossfilter"," - #1400 Hasprops.clone() should use changed_properties_with_values()"," - #1403 [build] Meta.yaml doesn't specify minimal tornado version"," - #1414 Broken server downsample -- property 'type' not found"," - #1415 Server downsample -- pandas error"," - #1417 Fix typo"," - #1422 Strange \"nan\" string in some mpl plots"," - #1425 Bokeh cdn assets are currently unavailable"," - #1427 Plotting/file/periodic and plotting/file/hover broken on master"," - #1429 Broken examples on master"," - #1431 [windows] Notebooks/animated not working (only on windows) on master"," - #1433 Tools get lost on grid plots"," - #1435 Embed fontawesome's fonts in css (to avoid 404 errors)"," - #1442 [regression] Fix spectrogram issues"," - #1446 Plotting/server/image example broken on master"," - #1461 Some gridplot issues"," - #1466 Abstract rendering -- deserialize on client js not working"," - #1474 Charts markers not showing correctly on legend"," - #1485 More specific css - otherwise when bokeh plots are embedded inside list"," - #1496 Fix unitialized var usage in bokeh.index"," - #1500 Fix charts not working with server output"," * features:"," - #72 Mechanism to express color mappings to bokehjs"," - #144 Add an example with multiple axes"," - #543 Websockets refactoring"," - #546 Plotting.show for server session should just show a single object"," - #547 Don't include gmaps api script in templates"," - #683 Remove pandasdatasource"," - #693 Examples/app/applet should use bokeh.sampledata"," - #761 [docs] Hard to find example notebooks"," - #774 Modify build_and_install.sh to handle release candidates"," - #849 We need a tools refactor"," - #863 Allow plot frame/tools to be configurable"," - #911 Rewrite spectrogram demo to use mostly python"," - #918 Multiple axis exposed on the python side"," - #1198 Abstract rendering: version check"," - #1225 Replace glyphspecs with the properties system"," - #1240 Support for geojs maps"," - #1273 Feature/geojs"," - #1285 Single axis zoom"," - #1294 Feature/more tools"," - #1309 Passing iterables straight to bokeh.charts (histogram)"," - #1321 Small tweaks to the coffeescript"," - #1327 Add 'help' to properties"," - #1345 Refactor plotting interface"," - #1351 Allow to specify alternative types for properties"," - #1359 Cleanup of table widgets"," - #1368 Add option (maybe default?) for bokeh logo to be de-saturated and placed on the rhs of the toolbar"," - #1372 More systematic approach to tool validation"," - #1374 Feature/server startup cleanup"," - #1392 Support subtyping for view models"," - #1411 Update examples to use new plotting api"," - #1437 Need methods to clear docs"," - #1451 Add glyphs/calendars example"," - #1488 Method to update data source contents in the notebook"," * tasks:"," - #836 Dev packages should be available at least for linux-64 and osx"," - #862 Remove data files in bokeh/tests"," - #880 Credentials for the release"," - #907 Rename widgetobjects.py"," - #909 Simplify dataspecs"," - #950 [docs] Update quickstart/bokeh.js build instructions"," - #999 Migration to bokeh organization"," - #1004 Change setup.py - building js"," - #1243 Clicking buttons in plots embedded in forms triggers form submit"," - #1250 Add more properties to handsontable, e.g. {row,column}_resize"," - #1251 Tools hidden by default in plotting/server/elements.py"," - #1253 Release 0.6.1"," - #1261 [docs] Add info about sample data download to user guide and faq"," - #1310 Rename glyph-\u003e glyphrenderer and baseglyph -\u003e glyph"," - #1311 Introduce bokeh.api module"," - #1325 Set {np.}random.seed(1) in examples/test"," - #1330 Reduce weight of gallery images"," - #1333 [docs] Dvreed77/palette docs"," - #1336 Hotfix for problem with pandas 0.15"," - #1353 Remove 'type' property from guides"," - #1357 Add missing icon files"," - #1364 Replace continuumio organization with bokeh and remove kinectjs"," - #1370 Removing gevent"," - #1371 Remove objectexplorer"," - #1382 Improve implementation of slickgrid-based datatable"," - #1389 Remove unused ar views, inherit from hasproperties instead of hasparent"," - #1391 [docs] Improve documentation: make it easier for users to get started"," - #1401 Hotfix/figure subclass of plot"," - #1407 Deprecate bokeh.{objects,glyphs,widgets}"," - #1408 [docs] Add contributing guidelines"," - #1418 [tests] Increase socket timeout"," - #1424 [tests] More unit tests"," - #1436 [BEP] [docs] Conventions for tying issues and prs"," - #1458 Try to recover the slideshow example featuring the embed api"," - #1465 Task/examples"," - #1473 [docs] Document new bokeh.chart implementation"," - #1498 [BEP] [docs] Add bep 0 with meta-information about bep process"," - #1499 [docs] Add deprecations to glyph funcs on document"," - #1504 Documentation updates for release 0.7","","2014-09-24 0.6.1:","--------------------"," * bugfixes:"," - #730 Hover tool failing"," - #854 Hover when hold is true"," - #947 Toolbar moves to bottom if window is not wide enough"," - #1144 Support rc candidates in devel builds"," - #1157 Active tool underline doesn't line up with gray bar"," - #1160 X overflow doesn't trigger vertical scrollbar"," - #1175 Toolbar icons remain in \"depressed\" state even after toggled off"," - #1179 [tests] Test script does not handle release number version"," - #1187 [regression] Toolbar changes break grid plots"," - #1195 Gmap plot zoom broken and has positioning error"," - #1200 Fix query for conjuctions"," - #1203 Bokeh-server -d: double prints server configuration"," - #1219 Need to store document in decorator"," - #1222 [docs] Inaccurate docstrings for xaxis() and axis() in plotting.py"," - #1226 Support devel build with miniconda 3"," - #1233 Use $.contains(...) to detect that element was added to dom"," - #1235 [docs] Bokehjs: website links and npm package not up to date (v.0.6)"," - #1237 [tests] Unpin matplotlib and delete mplexporter tests"," - #1249 Fix error instantiating close wrapper"," * features:"," - #992 Toolbar improvements"," - #1131 Button widgets"," - #1194 Expose google map type to python"," - #1197 Add glyphs/trail example (altitude profile + map)"," - #1216 Update version change script"," - #1223 [docs] Add axis labels to plots in tutorial"," * tasks:"," - #933 Make --build_js the default"," - #980 Complete hands on table"," - #1177 [docs] Add contributors.rst"," - #1180 [build] [docs] Updates to reflect not checking in bokehjs releases"," - #1181 Release 0.6.0"," - #1182 [docs] Continue improving the 0.6 docs"," - #1185 Support ipython 2.2.0 in bokeh_magic"," - #1208 Cleanup some ugly code in bokehjs (part 1)"," - #1209 Remove pinning of requests"," - #1212 Remove unused imports, standardise import order, etc"," - #1215 Use one codepath for py2 and py3"," - #1231 Code cleanup (part 2)"," - #1241 Task/docs 061","","2014-09-09 0.6.0:","--------------------"," * bugfixes:"," - #111 When axis objects are located in data space (vs \"min\" or \"max\"), they should clip to plot bounds"," - #366 Hover tool sets cursor to crosshair although the tool is disabled by default"," - #852 Bokeh logo on plots should open bokeh.pydata.org in a new tab"," - #935 Fix boxplot and more refactor"," - #940 Fix conda.recipe on windows"," - #951 [docs] Some plots in the tutorial at bokeh.pydata.org render with title on top of plot"," - #953 [docs] Scatter example in https://bokeh.pydata.org/docs/dev_guide.html#scatter broken"," - #955 Plots in bokeh/examples/app/downloads not showing in dev-0.5.2"," - #1010 Xaxis() and yaxis() broken in 0.5.2"," - #1012 Scatter broken in axis placement"," - #1019 Running the stock applet"," - #1023 Server-based notebook are broken"," - #1024 Multiple plots in a notebook not showing content in the first plot"," - #1028 [docs] Quickstart documentation suggests invalid resources output_file argument"," - #1036 Fix spectrogram axis locations"," - #1058 Show() shows previous plots in ipython notebook"," - #1059 Server_source_upload is failing on master"," - #1095 Box zoom tool does not draw zoom box"," - #1100 Request error hit our travis ci test"," - #1104 Ms / ns issue in protocol serialize/deserialize"," - #1114 Abstract rendering box-zoom+base-map"," - #1122 Fix broken logger statement"," - #1123 Hit testing is completely broken"," - #1124 Fix bug introduced when experimenting with logging"," - #1132 Updates to allow pip packages to install cleanly"," - #1133 Hotifx/crossfilter"," - #1138 Update tool hit testing to account for multiple raneges"," - #1142 Remove abstract rendering as a hard dependecy"," - #1145 Use none instead of \"none\" in toolbar_location"," - #1147 Fixed setup.py and add missing dependencies"," - #1151 Fix websockets in tornado 4.0 from notebook"," - #1154 Hotfix/toolbar notebook appearance"," - #1164 [build] [windows] Fix windows build"," - #1165 Added pyzmq and tornado as dependencies in the conda recipe"," - #1168 Hotfix/np int in ranges"," - #1174 Upgrade handsontable to fix scrolling issues"," * features:"," - #106 The x-axis of the stock example doesn't have a unit"," - #742 Tornado websockets (gevent optional)"," - #961 Big charts refactor"," - #981 Added stock example embedded into external flask app"," - #982 Feature/sin example"," - #1014 Add independent examples to bokeh chart"," - #1029 Extending ar integration with categories tools"," - #1038 Handsontable improvements"," - #1042 Allow remote connections to spectrogram demo"," - #1050 [tests] Update scripts/changes.py for bep 1"," - #1065 Don't repeat include properties' prefix"," - #1068 [tests] Improvements to examples/test (s3 conn, version detection)"," - #1070 [tests] Add test for new gear gylph"," - #1097 Upgrade rbush"," - #1102 Grouped pinning of upstream packages with bugs"," - #1106 [tests] Feature/charts tests"," - #1109 Feature/timeseries chart"," - #1110 Feature/object selection"," - #1113 Feature/toolbar"," - #1115 Abstract rendering resource consumption"," - #1126 Feature/heatmap"," - #1127 Feature/twinx"," - #1146 Clean up and improve the crossfilter"," - #1152 Updating css for different toolbar positions"," - #1158 Make select much more useful"," - #1169 Made scipy a soft dependency for chart histogram"," * tasks:"," - #754 [docs] Update dev_guide"," - #756 Copy wpp2012_sa_db03_population_quinquennial.csv to s3"," - #824 [tests] Example sampleapp not working"," - #986 Axis.location vs plot.{left,right,above,below}"," - #1001 Remove \"default\" from glyph specs"," - #1009 [docs] Possible error in bokeh boxplot tutorial and documentation code"," - #1041 Some usability cleanup"," - #1045 Don't include rejected issues in scripts/changes.py"," - #1046 [tests] Use conda-build 1.7.0 until get fixed"," - #1048 [docs] Better options for js building"," - #1057 Update readme.md"," - #1061 Cleaning some additional failing examples"," - #1066 Disable redis(-py) dependency on windows (#940)"," - #1071 Remove embed tool"," - #1072 Don't repeat color names"," - #1077 Mpl temp down"," - #1081 Made command line output less cluttered (and, in one case, less misleadi"," - #1083 [docs] [tests] Task/cleanup2"," - #1090 Update mpl support and charts to use the new add_* low level functions"," - #1092 [docs] License.txt in pypi?"," - #1096 Re-enable license comments in bokehjs"," - #1099 [docs] [tests] Task/cleanup3"," - #1119 [tests] Test_ar_downsample flaky; assumes dict keys sorted"," - #1140 Split user guide into separate docs"," - #1141 Collecting fixes for our examples"," - #1150 [labels] Add tag for build"," - #1156 Hover tool missing icon still?"," - #1161 [build] Copy examples into conda packages"," - #1163 Remove more unused widgets"," - #1171 [wip] updating documentation for 0.6 release"," - #1178 Task/update examples","","2014-08-15 0.5.2:","--------------------"," * features:"," - #891 Using --tags with git describe"," - #901 Allow xfield and yfield paramters to be scalar values"," - #931 Add hovertool for patches"," - #942 Hit testing for patches"," - #976 Server-side colors and iso contours"," - #977 Add line property in `line_cap` to terminate segment with arrow"," - #995 Various improvements to example widget testing script"," - #996 Grid and axes improvements"," * bugfixes:"," - #242 Zoom does not work on firefox 26.0"," - #814 Bokeh-server starting error"," - #890 Documentation not correct for plotting and changing the title text font size"," - #892 Updated the title attributes in the docs example"," - #894 Minor documentation bug"," - #903 Fix case where colorspecs mishandled serializing to dictionaries when the value was unset"," - #910 Subtypes, such as numpy int64, are not considered instance of np.int"," - #912 Simplify canvas dom render, and fix toolbar positions issue"," - #913 Fix broken wheel zoom in firefox"," - #915 Not redirected to `/bokeh/` when i load the server"," - #917 Add return statement in welcome view (#915)"," - #929 Fixed axis location in categorical plots after layout landed"," - #943 Fix up plotting.py and js examples"," - #944 Check patch hit testing for split patches"," - #954 Plots not working in bokeh.plotting when passing columndatasources with column names different than 'x' and 'y' in dev-0.5.2"," - #956 All plots in charts.ipynb get the yaxis label cut in ipython notebook (dev-0.5.2)"," - #957 Fixed labels in charts interface"," - #960 Bugfix/server downsample"," - #962 Update _glyph_functions.py"," - #963 Circle glyph bug on if fill_color is not passed"," - #974 Fix missing mouse callbacks"," - #990 Examples/glyphs/daylight contains duplicated yaxis"," * documentation:"," - #932 Remove reference to \"bokehjs site\" on gallery docs","","2014-07-23 0.5.1:","--------------------"," * features:"," - #631 Hover activated by default"," - #706 Better message when the you have forgot to start the bokeh-server"," - #777 Removing dinitialize"," - #788 Load inline resources lazily (on render, not on init)"," - #826 Added boxplot chart"," - #840 Advice to the user about start the bokeh-server"," * bugfixes:"," - #463 Hover tool on categorical heatmap example on bokeh.pydata.org is broken"," - #644 Can't import bokeh when resources aren't available"," - #682 Trouble with encoding on windows"," - #758 ./test -d is not finding example correctly"," - #776 Feature/safeguards for deferred initialization"," - #809 Nbviewer glitches on `output_notebook()`"," - #811 Fixes bokeh logo repetition in nbviewer notebooks"," - #812 Add mpl renderers to setup.py"," - #815 Unicodeencodeerror"," - #818 Fix python3 compat issue in setup.py"," - #831 Multi-document plots"," - #841 Fixed launching the tests suite from the examples folder"," - #864 Log files still have dinitialize method","","2014-07-09 0.5.0:","--------------------"," * features:"," - #63 Flesh out pandasdatasource"," - #79 Need to be able to specify plot range"," - #133 Add nicer default frame around bokeh plots"," - #159 Boheh dashboard app"," - #174 Rename display_defaults - these props are more deferred lookups/inherited props"," - #176 I need an htmlfilesession that gives me standalone div (htmlfragmentsession)"," - #287 Output_notebook should accept kwargs to pass through to notebookserversession ctor"," - #308 Remove event sinks"," - #310 Bokeh/serverconfig.py is very verbose"," - #339 Adding widgets?"," - #340 Name for plots"," - #438 Display pinch zoom and pinch box zoom button on touch devices"," - #440 Pan drag working on touch devices"," - #483 Experimental bokehjs build system using sbt (scala)"," - #504 Include bokehjs tests in travisci"," - #533 Example plot showing daylight hours"," - #534 Updated package.json and bower.json"," - #542 Default backend should be inmemory?"," - #555 Use shelve for default, add some config printouts"," - #564 Use types to compute value of has_ref attribute"," - #566 Image_url enhacement request"," - #571 Provide convenient way to set axis titles in the figure() or in glyph functions"," - #575 Feature: datetime axis date format"," - #577 Expose datetimetickformatter.formats in python api and add an example"," - #591 Improve range1d constructor to take two numbers, or a length-2 iterable"," - #592 \"tools\" kwarg should accept a list of strings as well as a comma-delimited string"," - #600 We need a bug info function"," - #614 Make an npm module for bokeh-js"," - #622 Create bokeh nightly conda packages"," - #635 Range1d for dates?"," - #640 Testing bokeh.report_bug function"," - #642 Continuous integration on bokeh"," - #650 Better logging, docs, and error checkout for autoload_static"," - #656 example for referencing links using the hover_tool"," - #667 Made report_issue function py3 compatible and docs"," - #670 Better styling in donut plot (web browser market share)"," - #671 Bokeh.pydata.org/docs/bokehjs.html is *very* slow and resource intensive"," - #674 Remove license comments from minified bokehjs"," - #686 Added new ipython versions and raise exception if ipython versions do not match"," - #689 More succinct server config message"," - #691 Allow ranges to be specified as sequences"," - #698 Remove serverconfig"," - #703 Logarithmic axes for plots"," - #707 Initial integration of abstract rendering"," - #709 First working version of automated execution of notebooks in example folder"," - #717 Feature/range1d datetime"," - #720 Add support for log scale axes"," - #733 Execute ipynb and write a nbconverted html"," - #739 Feature/crossfilter"," - #745 Frame improvements"," - #752 Add click tool, allow click and hover tools to be always on"," - #753 Add support for minor ticks"," - #755 Feature/abstract rendering guides"," - #757 Add support for minor ticks"," - #759 Added total-downloads.py example"," - #768 Bokeh charts"," - #773 Log axes support"," - #775 Add tags option for build and upload script"," - #778 Minor improvements to log axes"," - #783 Reduce the number of queries changes script makes"," * bugfixes:"," - #48 Ggplot gives error on aesthetic object"," - #103 There is an error when trying to serialize script_inject_escaped"," - #120 Axes/grid coords to do not recompute if underlyinge range is not datarange1d"," - #309 Strange css errors on bokeh-server"," - #464 Tools make plot disapears when x-axis is set to not numeric"," - #466 Figure() kwargs don't match curplot() attributes"," - #531 Get rid of \"plots\" div in default template"," - #548 Potobject.references should return a set"," - #551 Fix and expose imageuri"," - #553 Expose, fix, rename image url"," - #556 Scientific notation is always on"," - #559 Nbviewer rendering broken"," - #570 Scatter legend markers too large when combined with lines"," - #595 Hover tooltip does not work in ipython notebook inline plotting"," - #599 Datetime axis not rendering properly after multiple calls to line in tutorial example"," - #603 Non helpful error message in case you don't have some object to plot yet"," - #604 Test_objects fail - order dependent"," - #610 Missing plotcontext?"," - #613 Fix static embedding (and gallery build)"," - #645 Compute self._models on the fly"," - #662 Setup clean doesn't clean out directories"," - #672 Precision error in stacked bar charts?"," - #675 Hover is off the page"," - #679 Need to include google maps api on demand."," - #682 Trouble with encoding on windows"," - #684 Enforce utf-8 enconding in output_file"," - #687 Bokeh server main page is broken"," - #695 Widgets examples become unresponsive"," - #697 Plot width and height attribute name breaks some examples"," - #699 Explicitly ignore zero dim rects"," - #727 Skip pan/zoom tool registration"," - #729 \"offsets to time due to json serialization implementation\""," - #734 Enhance the settimeout for starting qunit. attempting to fix random failures in travis"," - #743 Include version '2.0.0-wakari'"," - #748 In merging docs, only merge new objects"," - #769 Need to add new package to setup.py.. not sure why travis did not catch"," - #770 Avoid abstract rendering package installation on py3"," - #771 Fixes to build and upload script"," - #779 Adding bokeh.charts to setup.py"," - #780 Fix pagination issue in changes script"," - #782 Removing old bokeh install path"," - #784 Add missing mplexporter package to setup.py"," * tests:"," - #435 Test script does not execute notebooks"," - #541 Nosetests errors when run locally"," - #544 modified server unit tests to use in memory backend, switchable to use"," - #549 Check plotobject.references test"," - #560 Bokeh manual release testing"," - #772 Test_references_by_ref_by_value (bokeh.tests.test_objects.testplotobject) fails randomly"," * documentation:"," - #316 Quickstart.md has to be integrated with the devel docs"," - #532 Selection problem on gallery"," - #565 Seaborn and ggplot examples misrender on deployed gallery"," - #576 Autosave=true does not work (or is wrongly documented?)"," - #639 Fix small typo in the tutorial"," - #651 Docs refresh"," - #661 Bokehjs handles nulls as 0"," - #680 Periodic table example hover errors"," - #694 Make it easier to run bokehjs demos"," - #721 Bokehjs demo docs fix-ups","","2014-04-16 0.4.4:","--------------------"," * features:"," - #407 Object explorer"," - #418 Support --user in non-setuptools setup.py develop"," - #419 Improve handling of static resources in htmlfilesession"," - #427 Clean up properties and introduce type safety"," - #429 Explose tick formatters as backbone objects to python"," - #430 [wip] expose bokehjs objects as backbone objects more consistently"," - #431 Subplots support in mpl"," - #434 Pypy compatibility:"," - #439 Option to dilate pixel distances on some glyphs"," - #441 Expose remaing tickers to python"," - #446 Feature/data directory"," - #447 Added gzip from flask_gzip, this gzips data before the flask server resp"," - #448 Second round of improvements to properties"," - #456 Feature/bigdata lineplots"," - #459 Feature/bigdata image"," - #461 Add support for testing on travis ci"," - #462 Remove [close] button from default plot html template"," - #469 Hover tool does not work with quad"," - #477 Feature/new json encoder"," - #478 Some enhancements to mpl polycollection support"," - #482 Added ggplot examples"," - #485 Background and grid support in mpl"," - #495 Basic xkcd support for mpl"," - #508 Add tool names for constrained pan and zoom"," - #514 Fix changes script to properly ignore unwanted issues (incorporates fixed chages to paginate api call. #513)"," * bugfixes:"," - #416 `bokeh/session.py` and `bokeh/session/*.py` contain duplicated code"," - #420 Large object graphs"," - #424 Recursively_traverse_plot_object() and session._collect_objs() don't collect refs in embedded objects"," - #425 Fixed nan issue in bokeh-server, closes #231"," - #428 Nan issue with circles (and presumably other marks"," - #443 Last big prs are generating errors in the py3 environment"," - #450 Can't connected to bokeh server if change the server to ip except 127.0.0.1"," - #454 Fix subprocess error exception call"," - #457 One histogram example renders badly on chrome"," - #458 Fixed missing datetime import"," - #465 Fix server sessions (inmemorysession and shelvesession)"," - #475 Scatter plot with multiple y-data fails with ipython notebook"," - #479 Datetime x_axis shows the wrong label at year resolution"," - #481 Fix years formatting problem"," - #488 Pr #448 breaks `from bokeh.plotting import *`"," - #489 Add missing type parameter declaration in serverdatasource (fixes #448)"," - #490 Server broken in py3 environment"," - #491 Adding hover tool from js fails"," - #494 Bokehjs error calling undefined function"," - #507 Datetime ticking broken"," - #509 Need new xpan, ypan... button"," - #511 Outline and title properties not being propagated to plots"," - #521 Point selection broken for wedge, annular wedge glyphs"," - #522 Recurrent time out failure in travis","","2014-03-07 0.4.2:","--------------------"," * features:"," - #353 A simple extension to activate interactive support in the IPython notebook"," - #359 remove setuptools"," - #371 First basic implementation of PolyCollection."," - #383 add ability to use a different ip address and port for bokeh-server"," - #388 Feature/unredis"," - #392 generalize packaging data dir"," - #395 Added script for load and install the extension."," - #396 Added a little notebook to explain some ways to use the bokeh extension."," - #397 Added script to generate changelog."," - #399 let figure() accept keyword arguments for next plot"," - #411 Add point hit testing to other circle-like glyphs"," * bugfixes:"," - #377 np not imported, zeros_like is"," - #378 bokeh 0.4.1 vs virtualenv"," - #379 Adding a missing getsitepackage function to install in dev mode"," - #381 Deleted reference to sys.real_path in setup.py"," - #389 small typo fixes and adding olympics json file to setup.py"," - #405 Hover tool does not work with multiple plots","","2014-02-17 0.4.1:","--------------------"," * features:"," - #365 Removing setuptools"," - #362 Change Name=\"...\" to title=\"...\" in plotting/file/hover.py"," - #355 Note about dependencies to install PyAudio successfully in debian-based systems"," - #337 Simplify plotting module and make auto-documentable"," - #336 Added redis-server to note about low level dependencies."," - #344 add elements data and example"," - #328 Added a note about the need of some low level dependencies."," - #325 Change grunt devdeploy to grunt deploy"," - #321 Add contributors.rst file"," * bugfixes:"," - #354 Axes properties do not seem to update."," - #320 Unable to execute: redis-server"," - #315 Better fix for gevent's KeyError issue"," - #314 Properties aren't checking for attrs on backbone views/models"," - #313 Better error message from subprocess.Popen() and fix KeyError issue again"," - #311 Make Bootstrap's JS not interfere with IPython's notebook (#260)","","2014-02-03 0.4:","--------------------"," * features:"," - #206 Rename \"zoom tool\" to \"wheel zoom tool\""," - #216 Add 'legend' Method to Retrieve Current Legends"," - #220 Put bokehjs on a cdn"," - #222 bokeh-server ImportError handler just prints the error message"," - #223 Resolution on Time Axis in 'datetime' Plot is Very Coarse"," - #227 dev setup for bokehjs"," - #228 Direct column datasource"," - #233 Scroll zoom for XY-Axes and independent X- and Y-Axis"," - #234 Python 3 support"," - #241 Bollinger band examples"," - #244 css paths were missing \"http://\""," - #248 BaseGlyph testing and refactoring test_properties"," - #252 Adding mpg dataset"," - #253 Feature/embed issues"," - #254 Restored Python 3 compatibility"," - #255 Make gevent optional - websockets wont' work, but that's mostly ok"," - #256 More tests and a fix"," - #257 Feature/selection"," - #259 Remove ObjectArrayDatasource and replace them with column data sources"," - #260 output_notebook() breaks the file/edit/etc. toolbar in IPython Notebook examples"," - #261 Improved sessions, bug fixes and headless testing of examples"," - #262 Adding link to actual webpage for tutorial information"," - #272 Circles should default to size/screen units like other markers"," - #273 scatter() should not special-case circle radii anymore"," - #274 Use \"marker\" for scatter(...) argument"," - #276 Update examples to use simpler specification for 'size'"," - #277 Replace deprecated 'type' parameter with 'marker' in examples"," - #278 remove bower dependecy"," - #279 Use [0...a.length] instead of [0..a.length-1]"," - #280 Add eco task to watch list in Gruntfile.coffee"," - #283 Improve dev docs about how to build bokehjs"," - #285 Start of some tests for bokeh.protocol"," - #288 Changes to server plots not showing automatically"," - #291 Better ticking for datetime data (and regular data)"," - #292 Fixes to make CDX work with bokeh@master"," - #293 More Tests"," - #296 Add support for color mapped and rgba images from python"," - #299 Don't special-case ColumnDataSource in glyph.coffee"," - #314 Properties aren't checking for attrs on backbone views/models"," - #313 Better error message from subprocess.Popen() and fix KeyError issue again"," - #312 Automatically activate pan tool on mousedown"," - #307 Remove event sinks"," - #303 Axes not showing up on line plot in spectrogram"," - #301 Set cursor matching active tool during dragging"," - #300 Fix tools so that keypress doesn't trigger tool activation"," * bugfixes:"," - #208 SyntaxWarning: import * only allowed at module level"," - #211 Fix broken links in README to demos"," - #212 Expose legend positioning via Python API"," - #214 label_text_align and label_text_baseline duplicated in legend.coffee"," - #224 select tool only draws selection bounds when moving the mouse"," - #226 tool sometimes switches to pan with no notification for the user"," - #235 Select then Zoom out creates rendering errors"," - #154 Another issue Json fault"," - #229 KeyError with bokeh-server"," - #238 'color' Argument of bokeh.plotting.text Ignored"," - #239 Error when executing burtin.ipynb"," - #240 Setting range requires having a second renderer"," - #243 Output .html file breaks if directory changes"," - #246 Pull function is broken - it calls session.load, which doesn't exist..."," - #247 Running the bokehserver with splitjs False and devjs True does not work."," - #250 Bugfix/build error"," - #251 Semi-fixing hold behavior for notebook"," - #265 Problem with Pattern property"," - #266 Legend text color changing unexpectedly"," - #269 text_color should not use get_default_color() as-is?"," - #270 hold(1) does not work with patches and circle"," - #271 Alpha not treated correctly as a data spec"," - #281 Text baseline not being respected"," - #282 Bokeh server tests error"," - #295 Fix issues with require.config()"," - #297 Datarange1d computes start/end incorrectly when single points are negative"," - #306 bokehjs demos broken","","2013-11-18 0.3:","--------------------"," * features:"," - #68 Remove guidespec and bake the attributes directly into the GuideRenderer"," - #158 Made FAQ fonts consistent"," - #157 xaxis, etc should return collection object"," - #151 Merge BokehJS repository"," - #129 The sampledata download is confusing"," - #105 All of the glyph examples have the same color"," - #82 Improve hold() functionality in notebook"," - #163 Rebuild only files that changed"," * bugfixes:"," - #155 ColumnDataSource does not update column_names"," - #152 Possible to have two Preview/Save tools"," - #150 If you plot circles that all have a position (0,0), there is a crash"," - #131 \"Fork me on github\" corner banner appears underneath some text boxes"," - #117 axis_line_color=None does not work"," - #162 Preview save tool broken"," - #199 Setting renderer.root_url has no effect","","2013-10-11 0.2:","--------------------"," * features:"," - #73 Update bokeh.sampledata.download to take an alternate download directory"," - #89 Need better message if user forgets output_file(), etc"," - #90 Need better message if output_notebook is used outside a notebook"," - #71 Add datetime axis from bokehj"," - #70 Use request animation frame where possible"," - #65 Make colors representable by DataSpecs."," * bugixes:"," - #98 line() without line_color does not render"," - #112 Add missing requirements, include bokeh.vendor into build"," - #115 Plotting a single point in causes javascript error in ticking"," - #77 colorspec on Grid and Axis objects not serialized"," - #76 Cannot find redis.conf"," - #69 None does not pass as null to bokehjs"," - #55 The last plot in a page full of plots behaves weird when the Zoom tool"," button is depressed"," - #54 legend rendering bug in plotting/file/legend.py"," - #75 Why are our rectangle borders goofy-looking?","","","2013-09-05 0.1.1:","--------------------"," * improve error messages on server examples","","","2013-09-03 0.1:","--------------------"," * initial release"],"stylingDirectives":[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/bokeh/bokeh/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"CHANGELOG","displayUrl":"https://github.com/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG?raw=true","headerInfo":{"blobSize":"417 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"698be24","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fbokeh%2Fbokeh%2Fblob%2F3.4.0%2Fdocs%2FCHANGELOG","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"6502","truncatedSloc":"6386"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":null,"languageID":null,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/bokeh/bokeh/blob/3.4.0/docs/CHANGELOG","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/bokeh/bokeh/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/bokeh/bokeh/raw/3.4.0/docs/CHANGELOG","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":true,"symbols":[]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/bokeh/bokeh/branches":{"post":"5bPyF1FIU1YXlPBhKZrEvi1iwQX7SaUFDKzJbOC8bQyGDmKWtjejTkr9ACQwq9lKLQzrLSTp0_mRjjH3OGFTJA"},"/repos/preferences":{"post":"J5_N1NTvfWdFwSGIanDfcEbRdSx-2NxfuB1KWR0wUYPecFemyDad0PfJXn90ZDnt9s3cOERxEP0hVZ5E4NK3aw"}}},"title":"bokeh/docs/CHANGELOG at 3.4.0 · bokeh/bokeh","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-a007d7f370d6.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-d0f0ff069004.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"copilot_conversational_ux":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_popover_file_editor_header":false,"copilot_smell_icebreaker_ux":true,"copilot_workspace":false}}}</script>
|
||
<div data-target="react-app.reactRoot"></div>
|
||
</react-app>
|
||
</turbo-frame>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</turbo-frame>
|
||
|
||
</main>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" >
|
||
<h2 class='sr-only'>Footer</h2>
|
||
|
||
|
||
|
||
|
||
<div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
|
||
<div class="d-flex flex-items-center flex-shrink-0 mx-2">
|
||
<a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com">
|
||
<svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
|
||
<path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
|
||
</svg>
|
||
</a>
|
||
<span>
|
||
© 2024 GitHub, Inc.
|
||
</span>
|
||
</div>
|
||
|
||
<nav aria-label="Footer">
|
||
<h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>
|
||
|
||
<ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">
|
||
|
||
<li class="mx-2">
|
||
<a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
|
||
</li>
|
||
|
||
<li class="mx-2">
|
||
<a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
|
||
</li>
|
||
|
||
<li class="mx-2">
|
||
<a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="/security" data-view-component="true" class="Link--secondary Link">Security</a>
|
||
</li>
|
||
|
||
<li class="mx-2">
|
||
<a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
|
||
</li>
|
||
|
||
<li class="mx-2">
|
||
<a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
|
||
</li>
|
||
|
||
<li class="mx-2">
|
||
<a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
|
||
</li>
|
||
|
||
<li class="mr-3" >
|
||
<cookie-consent-link>
|
||
<button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement">
|
||
Manage cookies
|
||
</button>
|
||
</cookie-consent-link>
|
||
</li>
|
||
|
||
<li class="mr-3">
|
||
<cookie-consent-link>
|
||
<button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement">
|
||
Do not share my personal information
|
||
</button>
|
||
</cookie-consent-link>
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</footer>
|
||
|
||
|
||
|
||
|
||
<cookie-consent id="cookie-consent-banner" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></cookie-consent>
|
||
|
||
|
||
<div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
|
||
<path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
|
||
</svg>
|
||
<button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
|
||
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
</button>
|
||
You can’t perform that action at this time.
|
||
</div>
|
||
|
||
<template id="site-details-dialog">
|
||
<details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
|
||
<summary role="button" aria-label="Close dialog"></summary>
|
||
<details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
|
||
<button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
|
||
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
|
||
</svg>
|
||
</button>
|
||
<div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
|
||
</details-dialog>
|
||
</details>
|
||
</template>
|
||
|
||
<div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
|
||
<div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
|
||
</div>
|
||
</div>
|
||
|
||
<template id="snippet-clipboard-copy-button">
|
||
<div class="zeroclipboard-container position-absolute right-0 top-0">
|
||
<clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
|
||
<path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
|
||
</svg>
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
|
||
<path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
|
||
</svg>
|
||
</clipboard-copy>
|
||
</div>
|
||
</template>
|
||
<template id="snippet-clipboard-copy-button-unpositioned">
|
||
<div class="zeroclipboard-container">
|
||
<clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
|
||
<path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
|
||
</svg>
|
||
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
|
||
<path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
|
||
</svg>
|
||
</clipboard-copy>
|
||
</div>
|
||
</template>
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<div id="js-global-screen-reader-notice" class="sr-only" aria-live="polite" aria-atomic="true" ></div>
|
||
<div id="js-global-screen-reader-notice-assertive" class="sr-only" aria-live="assertive" aria-atomic="true"></div>
|
||
</body>
|
||
</html>
|
||
|