All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
As of Dash 2, the development of dash-core-components has been moved to the main Dash repo
This package exists for backward compatibility
- Removed unnecessary Julia files from npm package
-
This applies the fix from #878 to the RangeSlider. It not only fixes the bug where the tooltips were visible when slider was not, but it also reduces the lag in the tooltip when the slider handles are moved.
- #939 Upgrade Plotly.js to v2.2.1. Note that this is a major version upgrade to Plotly.js, however we are not treating this as a breaking change for DCC as the majority of breaking changes in Plotly.js do not affect the Dash API. The one exception is that several trace types that have long been deprecated are removed entirely.
- Major release 2.0.0:
- Stop exporting d3 as
Plotly.d3
, and remove many other deep pieces of the public API. This does not affect thedcc.Graph
component, but if you make use ofPlotly
from the global scope in some other way you may be affected. - Drop the deprecated trace types
contourgl
andarea
, as well as legacy pre-scatterpolar
polar attributesbar.r
,bar.t
,scatter.r
,scatter.t
,layout.radialaxis
,layout.angularaxis
. Usescatterpolar
,barpolar
, andpolar
subplots instead. heatmapgl
andpointcloud
trace types, and thetransform
attribute are deprecated, and will be removed in a future release.- Increase CSP safety by removing function constructors. 3D plots still use function constructors, but if you place one of the non-3D bundles (including the new
strict
bundle) in yourassets
folder you will have no function constructors. - Remove "Aa" text in legends.
- Default
hovermode
to "closest". - Default
textposition
to "auto" inbar
traces. If you previously used thebar.text
attribute for hover only, you will need to explicitly settextposition="none"
. - Add
bar.marker.pattern
,image.zsmooth
, and various other features and bugfixes.
- Stop exporting d3 as
- Feature release 2.1.0:
- New
icicle
trace type. - New
legendrank
trace attribute. - Several other additions and bug fixes.
- New
- Feature release 2.2.0:
- Legend group titles
- Half-year directive (
%h
) for date formatting - Several other bug fixes and performance improvements
- Patch release 2.2.1 containing a security fix.
- Major release 2.0.0:
- #932 Adds a new copy to clipboard component.
- #948] Adds
disabled_days
prop toDatePickerRange
andDatePickerSingle
components. With this prop you can specify days that should be made unselectable in the date picker, in addition to those that fall outside of the range specified bymin_date_allowed
andmax_date_allowed
.
- #972 Updated R package vignettes and
dash-info.yaml
to regenerate examples without attaching now-deprecated core component packages (dashHtmlComponents
,dashCoreComponents
, ordashTable
).
- #863 Adds a new
Download
component. Along with this several utility functions are added to help construct the appropriate data format:dcc.send_file
- send a file from diskdcc.send_data_frame
- send aDataFrame
, using one of its writer methodsdcc.send_bytes
- send a bytestring or the result of a bytestring writerdcc.send_string
- send a string or the result of a string writer
- #930 Fixed a bug #867 with
DatePickerRange
that would sometimes shift the allowed dates by one day. - #934 Fixed a bug in
EnhancedTab
component that ignoreddisabled_className
property
- #905 Make sure the
figure
prop ofdcc.Graph
receives updates from user interactions in the graph, by using the samelayout
object as provided in the prop rather than cloning it. Fixes #879. - #903 Part of fixing dash import bug plotly/dash#1143
- #888 Adds a
drag_value
prop todcc.Slider
to be able to fire callbacks from dragging and releasing the slider.
- #889, #893
- Upgraded Plotly.js to 1.58.1
- Patch Release 1.58.1
- Feature release of Plotly.js 1.58.0 which:
- Add
ticklabelposition
attribute to cartesian axes and colorbars #5275 - Add "strict"
autotypenumbers
to axes andlayout
#5240 - Add
itemwidth
to legends #5212 - Add
root.color
attribute tosunburst
andtreemap
traces #5232, #5245 - Enable fast image rendering for all linear axes #5307
- Rework matches and scaleanchor so they work together #5287
- Add
- Upgraded Plotly.js to 1.58.1
- #871 Add Julia syntax highlighting support for dcc.Markdown
- #878
- Fixed #751, a bug that causes
dcc.Slider
anddcc.RangerSlider
tooltips to be visible even if the slider component isn't visible (e.g. overflow),
- Fixed #751, a bug that causes
- #875
- Upgraded Plotly.js to 1.57.1
- Patch release 1.57.1
- Feature release of Plotly.js 1.57.0 which:
- Feature release of Plotly.js 1.56.0 which:
- Introduce period positioning attributes on date axes in various cartesian traces #5074, #5175
- Add minexponent attribute to improve control over SI prefixes in axis tick labels #5121,
- Add sort attribute to sunburst and treemap traces to disable automatic sort #5164
- Handle rgba colors in colorscale of surface traces #5166
- Patch release 1.55.2
- Upgraded Plotly.js to 1.57.1
- #854 Used
persistenceTransforms
to strip the time part of the datetime in the persited props of DatePickerSingle (date) and DatePickerRange (end_date, start_date), fixing dcc#700.
- #850 Add property
prependData
toGraph
to supportPlotly.prependTraces
- refactored the existing
extendTraces
API to be a singlemergeTraces
API that can handle bothprepend
as well asextend
.
- refactored the existing
- #858
- Upgraded Plotly.js to 1.55.1
- Patch release 1.55.1
- Feature release of Plotly.js 1.55.0 which:
- Introduce "period"
ticklabelmode
on cartesian date axes #4993, #5055, #5060, #5065, #5088, #5089 - Add new formatting options for weeks and quarters #5026
- Add
source
attribute toimage
traces for fast rendering #5075 - Add
zsmooth
attribute for discreteheatmapgl
traces #4953 - Add horizontal and vertical markers for arrow charts #5010
- Add touch support to
rangeslider
#5025
- Introduce "period"
- #851 Add support for Dash.jl Julia built components
- #840 Add styling properties to
dcc.Loading
componentparent_className
: Add CSS class for the outermostdcc.Loading
parent div DOM nodeparent_style
: Add CSS style property for the outermostdcc.Loading
parent div DOM node- provides a workaround for the previous behaviour the of
className
property, which changed in #740.parent_className
(or inline styles inparent_style
) now allow CSS rules to be applied to the outermostdcc.Loading
div, which is no longer covered byclassName
on loading completion as of Dash Core Components>= 1.9.1
(Dash>= 1.11.0
).
- #793 Added title key (i.e. HTML
title
attribute) to option dicts indcc.Dropdown
options[]
list property.
- #792 Improved the robustness of
dcc.Store
components, fixing #456 whereby persistent storage could become corrupted, and fixing lifecycle issues that prevented addingStore
components to the page after initial loading. - #790 Fixed bug where the dcc.Dropdown dropdown was hidden by the dash_table.DataTable fixed rows and columns.
- #800
- Upgraded plotly.js to 1.54.1
- Feature release of Plotly.js 1.54.0 which:
- Introduces new drag modes "drawline", "drawrect", "drawcircle", "drawopenpath", "drawclosedpath", adds optional modebar buttons for drawing & removing new shapes inside cartesian subplots, adds newshape and activeshape attributes to layout, and adds editable and fillrule attributes to layout.shapes#4775
- Add angle and allowoverlap attributes to marker of scattermapbox traces#4575, #4794
- Also contains various other fixes
- #740 Keep components that are loading in the DOM, but not visible, as opposed to removing them entirely. This will ensure that the size of the component's container does not shrink or expand when the component goes into the loading state.
- #740 Fixed bug in which mapbox
uirevision
was not behaving when inside adcc.Loading
component
- #766 Update from React 16.8.6 to 16.13.0
- #768 Added title property to dcc.Link
- #776 Update dcc.Link to set href as children if children not defined. Makes href a required prop as well.
- #767 Updated dcc.Link to respond to click modifiers, and added a target prop.
- #774 Fixed dcc.Location firing callbacks for wrong property.
- 772 Modified dcc.Link to work with absolute paths if refresh=True.
- #784
- Feature release of Plotly.js 1.53.0 which contains:
- #760 Added R examples to package help
- #762 Renamed async modules with hyphen
-
instead of tilde~
- #743 Location component now emits an event on URL path update from Link component
- #739 Async Slider and RangeSlider
- #729 Handle case where dcc fails to load when used inside an iframe with a sandbox attribute that only has allow-scripts
- #730 Fixed bug in which input components with type
number
did not correctly update their values. - #731 Fixed bug where non-clearable dropdowns could still be cleared by typing backspace
- #734 Fix JS-facing release bug where
Plotly.js
was listed indevDependencies
instead ofdependencies
- #711 Added support for
dcc.Link
(dccLink) and nesteddcc.Markdown
(dccMarkdown) react components inside ofdcc.Markdown
- #706
- Added new
responsive
property that overrides the underlying Plotly.js graph responsiveness from Dash-land - Added responsiveness on graph parent element resize (previously only worked on window.resize)
- Added new
dash-graph--pending
class to dcc.Graph, present while resizing, (re-)rendering, loading
- Added new
- #723 Changed npm package content to allow source code inclusion from other projects
- #725 Improve async graph performance by parallelizing resource fetching instead of fetching sequentially
- #720
highlight.js
is now bundled into the package, and no longer sets thewindow.hljs
variable. Similarly to howplotly.js
is handled, it is overridden by a user-provided version if one exists.
- #732
- Upgraded plotly.js to 1.52.1
- Feature release 1.52.0 which contains:
- Patch release 1.52.1 containing several bug fixes.
- #706
- Upgraded plotly.js to 1.51.3
- #695 Improvements to Slider and RangeSlider
- Marks outside of the range specified by
min
andmax
are now omitted when the slider renders. - Padding is now dependent on the orientation (vertical or horizontal), and whether or not tooltips are always displayed.
- The whitespace is now preserved for
marks
labels.
- Marks outside of the range specified by
- #695 Added new property
verticalHeight
to Slider and RangeSlider, to allow the user to specify the height (in px) of vertical sliders. This defaults to400
.
- #696 Fix IE11 compatibility issues and ES5 compatibility and validation
- #687 Use
start_date
,min_date_allowed
,end_date
, ormax_date_allowed
for the initial visible month if the value of the parameterinitial_visible_month
is not supplied.
- #692 Async DatePickerSingle, DatePickerRange, Dropdown, Markdown, Upload components
- #693 Upgraded plotly.js to 1.51.1
- Feature release 1.51.0 which contains:
- A new
image
trace type to display 3- or 4-channel color images as data automargin
forpie
charts for better readability when labeling lots of small slices- Toggle-type
updatemenus
zh-CN
localization- And various other small features and bug fixes
- A new
- Patch release 1.51.1 containing several bug fixes.
- Feature release 1.51.0 which contains:
- #616 Async Graph and Plotly.js
- #681 Fix a bug with the dcc.Graph component logging errors in certain circumstances when nested inside a dcc.Loading component
- Added
search_value
prop toDropdown
, for server-side options loading/filtering. #660
- Upgraded plotly.js to 1.50.0 #675
- Feature release 1.50.0 which contains:
- A new
treemap
trace type for display of hierarchical data. texttemplate
support for all traces with on-graph text, and custom date formatting for templated on-graph and hover text.- Transitions (animation) for
bar
charts. - Numerous other performance improvements, features, and bug fixes.
- A new
- Patch release 1.49.5 containing several bug fixes.
- Feature release 1.50.0 which contains:
- Fix regression in DatePickerRange, DatePickerSingle, Input #652
- Added support for persistence of user-edited props to value-input components:
Checklist
,DatePickerRange
,DatePickerSingle
,Dropdown
,Input
,RadioItems
,RangeSlider
,Slider
,Tabs
, andTextarea
. New props arepersistence
,persistence_type
, andpersisted_props
. Setpersistence
to a truthy value to enable, the other two modify persistence behavior. See plotly/dash#903 for more details. #646
-
Fixed
Slider
andRangeSlider
components withtooltip.always_visible
#640 -
Fixed an infinite loop problem when
Graph
is wrapped byLoading
component #608
-
Fixed problems with
Graph
components leaking events and being recreated multiple times if declared with no ID #604 -
Fixed problem with
DatePickerRange
component aboutclearable
not working #614 and #594
- Fixed inconsistent behavior of
input
withtype=number
#580
- Upgraded plotly.js to 1.49.0 #589
- Feature release 1.49.0 which contains:
- New
indicator
trace type for gauge and KPI displays. - Lots of tile map improvements:
choroplethmapbox
anddensitymapbox
trace types, numerousstyle
options formapbox
subplots that do not require a Mapbox access token, and more. - Various bug fixes and smaller improvements.
- New
- Feature release 1.49.0 which contains:
Markdown
components support code highlighting - no need to switch toSyntaxHighlighter
, which has been removed. Use triple backticks, with the opening backticks followed by the language name or abbreviation. #562 Supported languages:- Bash
- CSS
- HTTP
- JavaScript
- Python
- JSON
- Markdown
- HTML, XML
- R
- Ruby
- SQL
- Shell Session
- YAML
- Added a
dedent
prop toMarkdown
components, and enabled it by default - removing all matching leading whitespace from every line that has any non-whitespace content. You can disable this withdedent=False
. #569 - Ability to add tooltips to
Slider
andRangeSlider
, which can be visible always or on hover. Tooltips also take a position argument. #564
- Fixed
min_date_allowed
andmax_date_allowed
bug inDatePickerRange
#551 - Fixed unwanted
resize()
calls on unmountedGraph
s #534 - Fixed
tab--disabled
CSS class issue inTab
component with custom styling #568
- Changed
dcc.Checklist
propvalues
tovalue
, to match all the other input components #558. Also improved prop types forDropdown
andRadioItems
value
props to consistently accept both strings and numbers.
- 💥 Removed the
SyntaxHighlighter
component. This is now built intoMarkdown
#562. - Removed the
containerProps
prop inMarkdown
- after the refactor of #562, its function is served by theid
,className
, andstyle
props. #569 - Removed
version.py
- use__version__
in the main namespace instead. #555
- Upgraded plotly.js to 1.48.3 #571
- Feature release 1.48.0 which contains:
- New
funnel
andfunnelarea
trace types - Shared color axes and colorbars
- Sorting cartesian axes by the value on the opposite axis
- Improvements to
bar
&waterfall
text, legend clicking, histogram binning, hover text, and more
- New
- Patch releases 1.48.3, 1.48.2, 1.48.1, 1.47.4, 1.47.3, 1.47.2, 1.47.1 containing numerous bug fixes
- Feature release 1.48.0 which contains:
figure
prop indcc.Graph
now accepts aframes
key- Improved the
Dropdown
options description for dash-docs #547 - Added
optionHeight
prop toDropdown
#552 - Merged in R
dashCoreComponents
package and updated to 0.48.0
- Removed unused
key
prop fromdcc.ConfirmDialog
- Fixed style regression in DatePickerSingle and DatePickerRange #518
- Breaking - In
dcc.Input
, fixed several HTML properties that weren't properly camel cased and therefore were not actually applied in the DOM #523:autocomplete
is nowautoComplete
autofocus
is nowautoFocus
inputmode
is nowinputMode
maxlength
is nowmaxLength
minlength
is nowminLength
- Improved property definitions of various components in anticipation of upcoming component validation (plotly/dash-renderer#100). #523
- Breaking -
n_blur_timestamp
&n_submit_timestamp
inInput
&Textarea
is now a number instead of a date object/string. This matches the form ofn_clicks_timestamp
as used indash_html_components
. #523 - Fixed an issue with
ConfirmDialog
that could display multiple confirm popups instead of a single popup in certain contexts. #523 dcc.Markdown
containerProps
is now applied to the component's container again. This was broken in 0.45.0'sreact-markdown
upgrade.
-
dcc.Interval
will reset its timer when re-enabled. Previously, if thedcc.Interval
was disabled, it's "clock would keep running": when it was reenabled, it would fire at the nextinterval
on the previous clock's schedule, rather thaninterval
milliseconds later. For example, previously the schedule might look like this:0 seconds: interval started with `interval=5000` 5 seconds: `n_intervals=1` 7 seconds: callback sets `disabled=True` 10 seconds: interval continues to run, but doesn't fire an update 13 seconds: callback sets `disabled=False` 15 seconds: interval fires an update: `n_intervals=2`
Now, it will look like this:
0 seconds: interval started with `interval=5000` 5 seconds: `n_intervals=1` 7 seconds: callback sets `disabled=True` - interval stops 13 seconds: callback sets `disabled=False` - clock resets 18 seconds: interval fires an update: `n_intervals=2`
extendData
prop forGraph
component. This feedsPlotly.extendTraces
for incremental data updates. #461
- Upgrade from React 15.4.2 to 16.8.6
- Upgrade from react-date 12.3.0 to 20.1.0
- Fix unnecessary
loading_state
prop forInput
component. #498 - Ensure
DatePickerSingle
callbacks fire with cleared dates. #511 - Fixes incorrect default values for
config
prop ofGraph
. #515
- Upgraded plotly.js to 1.47.0 #516
- Feature release 1.47.0 which contains:
- New
volume
gl3d trace type - Interactive node grouping for Sankey diagrams, using box or lasso selection
- Add way for Plotly.toImage and Plotly.downloadImage to export images with current graph width/height by passing width/height option as null
- Improvements to hover labels, legends, and more
- New
- Feature release 1.46.0 which contains:
- New
waterfall
trace type - New
sunburst
trace type - Implement connectgaps on surface traces
- Implement hovertemplate for box and violin points
- Display hover labels above modebar, ensuring that the hover labels are always visible within the graph div
- New
- Patch releases 1.46.1, 1.45.3, 1.45.2, and 1.45.1 containing numerous bug fixes
- Feature release 1.47.0 which contains:
restyleData
prop forGraph
component #483
dcc.Markdown
now uses GitHub-flavored markdown instead of CommonMark markdown. This was done as part of upgradingreact-markdown
third party library from 2.4.5 to 4.0.6. Compare the differences in these online editors: CommonMark editor, GitHub Markdown Editor. Notable changes:- A line break is now needed between paragraphs and lists.
- Links are automatically rendered.
- Many more features are supported like tables and strikethrough.
- Loading component #267
- Upgraded plotly.js to 1.45.0 #470
- Feature release 1.45.0 which contains:
- Sankey diagram improvements including circular networks, node grouping, and concentration colorscales
- Matching cartesian axes
- Better bar, box, and violin alignment control
- Orthographic 3D projections
- Hovertemplate support for more trace types, including all 3D traces
- And many other features and bug fixes
- Patch release 1.44.4 containing numerous bug fixes
- Feature release 1.45.0 which contains:
- Added event props
n_blur
andn_clicks
- along withn_blur_timestamp
andn_clicks_timestamp
- inTextarea
components, to maintain the functionality lost by removing theclick
andblur
events. All other events were already covered by existing props. #444 - Merged in R
dashCoreComponents
package and updated to 0.43.0
- Fix dynamically disabling and enabling
Interval
components #436 - Clear date in DatePickerSingle and DatePickerRange #434
- Removed
Event
system - see plotly/dash#531 for details. #444
- Upgraded plotly.js to 1.44.1 #445
- Feature release 1.44.0 which contains:
- A new
isosurface
gl3d trace type - Animated transitions via
Plotly.react
usinglayout.transitions
hovertemplate
support in many more trace types- And many other features and bug fixes
- A new
- Patch releases 1.44.1 and 1.43.2 containing numerous bug fixes
- Feature release 1.44.0 which contains:
- Fix
dcc.Store
type changes #427
- Fix
dcc.Store
null values in list causing an infinite loop #424
- Upgraded plotly.js to 1.43.1 #423. This includes:
- Feature release 1.43.0, which contains:
multicategory
axis type for hierarchical categoriesuirevision
attributes to control persistence of user-driven changes to the graphhovertemplate
for more control of hover labels for certain trace types- Alignment options for titles and legend items
- And many other features and bug fixes
- Patch releases 1.43.1, 1.42.5, 1.42.4, and 1.42.3 containing numerous bug fixes
- Feature release 1.43.0, which contains:
dangerously_allow_html
prop for Markdown component for allowing HTML.
- Fix typos in DatePickerSingle props #361
- Add map files to manifest #413
- Put Input value set in onBlur/onSubmit under a debounce check #384
- Fixed issue #390 by providing better styles for vertical Tabs.
- Add Logout button (dash-deployment-server authentication integration) #388
- Updated
react
andreact-dom
to version^16.6.1
- Updated
react-docgen
to^2.21.0
- Updated
react-select-fast-filter-options
to^0.2.3
- Updated
react-virtualized-select
to^3.1.3
- Upgraded
babel
and dependencies to7.1.5
- Upgraded
enzyme
and dependencies to3.7.0
- Removed
react-select
because it's unused - we're usingreact-virtualized-select
instead.
- The issue #115
with datepicker, which didn't appear when the date value is
None
was fixed. By default, current month would appear in such cases forDatePickerRange
andDatePickerSingle
components. See pull request #201. - Refactored the way the Graph component would generate an unique id if none provided.
- Default CSS imported via
style-loader
is now placed at top, so that user supplied CSS can overwrite it, fixes #380
- Changed the way the default CSS files for some components are loaded to being loaded with webpack instead of as dependencies.
- Updated
react-select
to version2.1.0
- Added
clickannotation
event todcc.Graph
. See #182.
- Some Input props weren't being picked up by React. Changed:
autocomplete
toautoComplete
autofocus
toautoFocus
inputmode
toinputMode
maxlength
tomaxLength
minlength
tominLength
- Unit tests for
Input
component. - New
debounce
prop forInput
component that determines if the input should update to a Dash server immediately, or on 'Enter' key. Fixes #169
min
andmax
prop now won't update the input when values are lower than or greater thanmin
andmax
respectively. Fixes#173step
prop can now be anumber
and is therefor set correctly on the corresponding<input/>
tag. Fixes #292
- The
npm start
command now runs the Demo app again #346
- Upgraded plotly.js to 1.42.2 #354. This includes:
- Feature release 1.42.0 which contains:
- A new trace type
parcats
(parallel categories) modebar
stylingpie
trace titles- And many other features and bug fixes
- A new trace type
- Patch releases 1.42.2 and 1.42.1 containing numerous bug fixes
- Feature release 1.42.0 which contains:
- Fix Input not used in callbacks resetting the value on updates. #350
- n_blur/n_submit and timestamps props added to the Input component. #326
npm run test-unit
will run new Jest+Enzyme unit tests- Unit tests for Tabs component
- Fixed bug in Tabs component where value was resetting if using callback-less mode #331
- Fixed bug with default Tabs value not being set to children's Tab value (if it's set)
- Fixed bug where Tabs.children.props wheren't being selected properly, related to #84
- Fix Store component nested data #333
- Patched plotly.js version 1.41.3 #320. This includes patch releases 1.41.3, 1.41.2, and 1.41.1 containing numerous bug fixes.
- Added Store component #248
- Updated NPM scripts:
test
now runs Selenium integration testsformat
runs Prettier formatter- There are new
build
scripts, most notablybuild:watch
runs a watcher and rebuilds upon changes - There's a new
publish-all
script that publishes to NPM and PyPi
- The
start
script will now run theDemo
application
- Fixed regression in Graph component where it wouldn't resize correctly #256
- Renamed
__init__.py
external_path to dash_core_components.min.js
- Unminified dev bundle support. #293
-
Upgraded Plotly.js, the underlying library behind the
dash_core_components.Graph
component, to version 1.41.0 #302. Feature release 1.41.0 adds:- Stacked area charts, as part of
scatter
traces - A new
barpolar
trace type for polar "bar" traces. This replaces and improves the deprecatedarea
trace type. - A
responsive
plot config option - And various other features and bug fixes.
Many of these features were funded directly by companies that rely on this library. If your organization or company would like to sponsor particular features or bug fixes in these open source libraries, please reach out: http://plotly.com/products/consulting-and-oem
- Stacked area charts, as part of
- The
Interval
component'smax_interval
prop can now be used to stop/restart the interval. Fixes #266 - The
Graph
component'sid
is now not required to be set.
- Fixed bug where Graph would resize randomly when rerendered, for example in a dcc.Tabs component.
- Fixed bug in Tabs component where initial tab content wasn't rendering, #282
- Fixed bug in Tabs component where no default Tab is selected if Tabs.value is empty
candlestick
andOHLC
charts are now plotted using thePlotly.react
method instead of thePlotly.newPlot
method.
- Fix bug where front-end error was thrown when setting
Graph.figure = {}
(fixes [#260]).
- Upgraded plotly.js to version 1.40.1 #280. This includes Feature release 1.40.0 and patch releases 1.40.1, 1.39.4, 1.39.3, and 1.39.2, containing:
contour
trace legend itemspiecolorway
andextendpiecolors
attributes for more control overpie
colors- And many other features and bug fixes
Tabs.children
can now be undefined, so you can update them dynamically. #265Tabs
Callback-less version no longer has the 2nd tab selected by default #262- Fixes bug with nested
Tabs
#273 and #272
ConfirmDialogProvider
can now be used without a callback. #241ConfirmDialog
, only firesubmit
whensubmit
is clicked. #242 fixed in #241
dash_core_components/__init__.py
now imports from python class files rather than generating classes at runtime, adding support for IDE autocomplete etc.
- New Tabs and Tab components! #213
__init__
version formatting for unpkg.
ConfirmDialog
andConfirmDialogProvider
components #211
- Improved DatePickerRange, fixing issues #209 and #152
- Link component now is a proper tag so you can right click on it, and will scroll back to top. Fixes #99, implemented in #215
- Added
max_interval
prop toInterval
component, fixing issue #222
- Upgraded plotly.js, the underlying library behind the
dash_core_components.Graph
component, to version 1.39.1 #228. This includes:- Feature release 1.39.0, which contains:
layout.template
capability, along withPlotly.makeTemplate
andPlotly.validateTemplate
.- A new 3D
streamtube
trace type scattergl
on-graph textpolar
polygon grids- And many other features and bug fixes
- Patch releases 1.39.1, 1.38.3, 1.38.2, and 1.38.1 containing numerous bug fixes.
- Many of these features were funded directly by companies that rely on this library. If your organization or company would like to sponsor particular features or bug fixes in these open source libraries, please reach out: http://plotly.com/products/consulting-and-oem
- Feature release 1.39.0, which contains:
- Upgraded plotly.js to version 1.38.0 #207. This includes:
- Feature releases 1.38.0, 1.37.0, and 1.36.0, which contain:
- A new 3D
cone
trace type to visualize vector fields - A new
splom
(aka Scatter PLOt Matrix) trace type - Performance improvements for
splom
and other multi-subplot graphs plotly_legendclick
andplotly_legenddoubleclick
events- Multi-selection and click-to-select for
parcoords
axes - Fixed-size shapes
- And many other features and bug fixes
- A new 3D
- Patch releases 1.37.1 and 1.36.1 containing numerous bug fixes
- Feature releases 1.38.0, 1.37.0, and 1.36.0, which contain:
dcc.Input
component now handlesdisabled=False
property.- Broken sourcemaps for debugging.
- Testing configuration for CHROMEPATH and SERVER_PROCESSES
- Various bugs with the
ohlc
andcandlestick
chart type in thedcc.Graph
component were fixed. See #184.
- Previously, if a user named their app file
dash.py
, an unhelpful error message would be raised. Now,import dash_core_components
will check if the user has a file nameddash.py
and warn the users appropriately. #177
- In some cases, frequently multi-page apps, the
dcc.Graph
interactive properties will stop working (selectedData
,hoverData
,relayoutData
). This should be fixed now. #178 dcc.Graph
will now resize after it it plotted for the first time. This should fix issues where thedcc.Graph
component was not fitting to the size of its container. #178
- Upgraded Plotly.js, the underlying library behind the
dash_core_components.Graph
component, to version 1.35.2 #174. This includes Feature release 1.35.0 and patch releases 1.35.2, 1.35.1, which contain:- An
automargin
attribute for cartesian axes with long tick labels - Support for typed arrays as data inputs
- layout
grid
attribute for easy subplot generation - And numerous other features and bug fixes
- An
- The
selectedData
,clickData
, andhoverData
callbacks were being attached without being removed every time the graph was updated. They are now removed and reattached. #172
- The
serve_locally
was broken - the Plotly.js bundle wasn't being served correctly.
- Upgraded plotly.js, the underlying library behind the
dash_core_components.Graph
component, to version 1.34.0 #170. Feature release 1.34.0 contains:Plotly.react
, a new do-it-all API method that creates and updates graphs using the same API signature- Constraint-type contours in
contour
traces notched
box
traces- Localization machinery for auto-formatted date axis ticks
- And many other features and bug fixes
PropTypes
now usesprop-types
package instead ofReact
to support move to React 16+
- Patched plotly.js to version 1.33.1 #151. Patch release 1.33.1 includes numerous bug fixes.
- Upgraded Plotly.js, the underlying library behind the
dash_core_components.Graph
component, to version 1.33.0. This was a huge release! Here are some of the new features that are available:- Completely rewritten
scattergl
trace type usingregl
plotly.js#2258 - Completely rewritten polar chart renderer accompanied by new
scatterpolar
andscatterpolargl
trace types plotly.js#2200. The old polar trace types -scatter
with(r, t)
coordinates, bar with(r, t)
coordinates, andarea
- are now deprecated. - Add the ability to draw layout images and layout shapes on subplot with
scattergl
traces plotly.js#2258 - Add
fill
capabilities toscattergl
traces plotly.js#2258 - Add
spikedistance
,hoverdistance
andspikesnap
for more customizable spikes and hover behavior on cartesian subplots plotly.js#2247 - Add official Spanish translation (locale
es
) plotly.js#2249 - Add official French translation (locale
fr
) plotly.js#2252 - And numerous other features and bug fixes
- Many of these features were funded directly by companies that rely on this library. If your organization or company would like to sponsor particular features or bug fixes in these open source libraries, please reach out: http://plotly.com/products/consulting-and-oem
- Completely rewritten
- Previously, if
None
is supplied toSyntaxHighlighter
orMarkdown
, the component would not render and the app would break. This is problematic because ifchildren
isn't supplied (as done in the case for when you are updating that property from a callback),None
is the default property. Fixes #147. This bug was introduced in v0.15.4.
- The
dcc.Graph
component now includespointNumbers
insideselectedData
andhoverData
if the chart type is ahistogram
,histogram2d
, orhistogram2dcontour
.
- Upgraded Plotly.js, the underlying library behind the
dash_core_components.Graph
component, to version 1.32.0 #143. Feature release 1.32.0 includes:- Localization machinery, including an official German translation (locale
de
) - A new
violin
trace type - Selection improvements:
selected
andunselected
attribute containers to customize selection states, Support for multi-selections, persistent selections. colorway
attribute to customize the trace-to-trace color sequence- Add
tickformatstops
to set tick format per cartesian axis range - And many more features and bug fixes
- Localization machinery, including an official German translation (locale
- The
dash_core_components.Location
anddash_core_components.Link
properties should now work on Internet Explorer. Thanks to @nedned for suggesting a solution. Fixes #113
- The
dash_core_components.Location
component now supportshash
,href
, andsearch
in addition to the already supportedpathname
(mimicking thewindow.location
API).href
can be used to handlepathname
,hash
, andsearch
in aggregate, or each can be manipulated independently. - The
children
property ofdash_core_components.Markdown
anddash_core_components.SyntaxHighlighter
now accepts an array of strings (previously it had to be a string). Now, if an array is provided, it is collapsed into a string with line breaks (see #134).
- Patched plotly.js to version 1.31.2 #125, including patch releases 1.31.2 and 1.31.1 with numerous bug fixes.
- The
Interval
component has a new property:n_intervals
. This is an integer that increases every time that the interval passes. This allows you to use theInterval
component without using theevents=[Event(...)]
pattern inside the callback.
This is similar to the n_clicks
property of the dash_html_components
components.
This was the last use case for events=[Event(...)]
inside the
dash_core_components
library. Ultimately, we may be able to deprecate this
pattern.
- The
dash_core_components.Input(type='number')
component actually converts the values to floats or integers, instead of passing the numbers back as strings. #100 Big thanks to community contributor @Madhu94!
- The
disable_click
property in thedcc.Upload
component now works. #106. Big thanks to community contributor @Akronix! - Several properties in several components had the wrong
propTypes
. This has been fixed, improving the documentation for the Dash python classes (and removing warnings in JS development). Big thanks to community contributor @Akronix!
- Attempt to fix the JS builds from 0.15.0 but actually nothing changed.
- Bad build. See 0.15.2 for the correct build
- An
Upload
component! 🎉 See https://plotly.com/dash/dash-core-components/upload for docs.
- Upgraded plotly.js to version 1.31.0. This includes:
- Two huge feature releases by the plotly.js team! 👏 - 1.31.0 and 1.30.0, which contain:
- A new
table
trace type geo.center
making geo views fully reproducible- Extend lasso and select-box drag modes to
bar
,histogram
,scattergeo
, andchoropleth
trace types aggregate
transforms- And many other features and bug fixes
- A new
- Patch release 1.30.1 with bug fixes
- Two huge feature releases by the plotly.js team! 👏 - 1.31.0 and 1.30.0, which contain:
- Fixed issues related to updating the
max_date_allowed
property ofDatePickerSingle
andDatePickerRange
programmatically through callbacks - Clicking on the end date in the
DatePickerRange
will now open up the calendar to the end date (#80)
- Cleaned up
DatePickerSingle
andDatePickerRange
- Non-ascii characters, like chinese characters, are now supported as
search strings in the
dcc.Dropdown
component (#75)
- The
Interval
component was constantly resetting its interval on every update. Initially reported in https://community.plotly.com/t/multiple-interval-object-in-a-single-page/5699/3 - Removed the used
label
property from theSlider
component - Provide a more descriptive documentation for the
marks
property of theSlider
component
- A
disabled
property on theInterval
component will disable the interval component from firing its updates.
- Added
className
andstyle
properties to the parentdiv
s of theChecklist
,Dropdown
,Graph
andRadioItems
component. As requested in #57, solved in #60
- Previously, the
max_date_allowed
could not be selected. This issue has been fixed, issue first reported in https://community.plotly.com/t/solved-datepicker-in-dash/4816/10
- Previously, when the
options
of adcc.Dropdown
would change, the options would no longer be searchable. That has been fixed. Issue was originally reported in https://community.plotly.com/t/dropdown-not-searching-values-when-typing/5323/3
- Disabled portal settings on
dcc.DatePickerSingle
anddcc.DatePickerRange
whenvertical=True
.with_portal
andwith_full_screen_portal
will only apply ifvertical=False
.
- Added two new date picker components:
dcc.DatePickerSingle
anddcc.DatePickerRange
- Added support for all of the valid HTML attributes of the
Input
component. - Added support for a few more
type
values of theInput
component. The full list of valid types are 'text', 'number', 'password', 'email', 'range', 'search', 'tel', 'url', 'hidden'. Note that type values that don't have cross-browser support are not included (such asdatetime
)
- The
Dropdown
component rendersoptions
much, much faster. It can render 50,000 options (client-side) without crashing! This fixes plotly/dash#103
- Upgraded plotly.js to version 1.29.3, including feature releases 1.29.0 and 1.28.0, and patch releases 1.29.3, 1.29.2, 1.29.1, 1.28.2, 1.28.1, and 1.27.1 This includes TONS of fixes and improvements, notably:
- Add touch interactions to cartesian, gl2d and ternary subplots including for select and lasso drag modes
- Add support for contour line labels in contour and contourcarpet traces
- Add support for select and lasso drag modes on scattermapbox traces
- Add reset view and toggle hover mode bar buttons to mapbox subplots
- Add support for array marker.opacity settings in scattermapbox traces
- Add namelength layout and trace attribute to control the trace name's visible length in hover labels
- Add cliponaxis attribute to scatter and scatterternary traces to allow markers and text nodes to be displayed above their subplot's axes
- Add axis layer attribute with 'above traces' and 'below traces' values
- A
config
property of theGraph
component that exposes the plotly.js config properties. Here's an example that hides 2 buttons and makes the elements in the graph "editable":
import dash
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash()
app.layout = html.Div([
dcc.Graph(
id='my-graph',
figure={'data': [{'x': [1, 2, 3]}]},
config={'editable': True, 'modeBarButtonsToRemove': ['pan2d', 'lasso2d']}
)
])
if __name__ == '__main__':
app.run_server(debug=True)
- A new
Textarea
component for displaying the simple Textarea HTML element. The content of theTextarea
is controlled through thevalue
property:
dcc.Textarea(id='my-text-area' value='''
SELECT * FROM MY_TABLES
LIMIT 10;
''')
- Clearing a Graph selection box sets the
selectedData
value toNone
(null
in JavaScript). Before, it didn't change theselectedData
property, preventing the user and the Dash developer from clearing selections. Fixes plotly/dash#97, thanks to @pmbaumgartner for reporting.
- The
clearable
property to theDropdown
, which toggles on and off the "x" on the side of the dropdown that clears the current selection. - The
searchable
property to theDropdown
, which toggles on and off whether theDropdown
is searchable.
- Clicking on the little
x
on the side of the Dropdown to clear the currently selected value didn't work. Now it does. Ifmulti=false
, thennull
(or Python'sNone
) is set. Ifmulti=True
, then[]
is set.
- The
Slider
and theRangeSlider
component can update when the user finishes dragging the slider rather than just while they drag. The default behaviour has remained the same (updates while dragging) but you can toggle that the updates only get fired on "mouse up" by settingupdatemode
to'mouseup'
('drag'
is the default). - A
Link
andLocation
were added.Location
represents the address bar of the web browser andLink
provides a way to modify the address bar without refreshing the page. Combined, these two components can be used to create a "single page app" with multiple URLs. That is, apps that have multiple URLs but surfing between the different pages doesn't trigger a full page refresh like it would with traditional links. - Previously, if callback functions weren't supplied to a component, it wouldn't update. This caused a lot of confusion: users would create a simple layout without any callbacks and then wonder why the sliders wouldn't slide or the text inputs wouldn't update. Now, all of the components manage their own state and their appearance will update regardless of whether Dash has assigned a callback to them.
- A
range
object is now included in theselectedData
object that specifies that dimensions of the selected region. - A
lassoPoints
object is now included in theselectedData
object that provides coordinates of the lassoed region.
- A new property
clear_on_unhover
on theGraph
component will clear thehoverData
property when the user "unhovers" from a point if True. If False, then thehoverData
property will be equal to the data from the last point that was hovered over. The default is False.