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.Graphcomponent, but if you make use ofPlotlyfrom the global scope in some other way you may be affected. - Drop the deprecated trace types
contourglandarea, as well as legacy pre-scatterpolarpolar attributesbar.r,bar.t,scatter.r,scatter.t,layout.radialaxis,layout.angularaxis. Usescatterpolar,barpolar, andpolarsubplots instead. heatmapglandpointcloudtrace types, and thetransformattribute 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
strictbundle) in yourassetsfolder you will have no function constructors. - Remove "Aa" text in legends.
- Default
hovermodeto "closest". - Default
textpositionto "auto" inbartraces. If you previously used thebar.textattribute 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
icicletrace type. - New
legendranktrace 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_daysprop toDatePickerRangeandDatePickerSinglecomponents. 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_allowedandmax_date_allowed.
- #972 Updated R package vignettes and
dash-info.yamlto regenerate examples without attaching now-deprecated core component packages (dashHtmlComponents,dashCoreComponents, ordashTable).
- #863 Adds a new
Downloadcomponent. 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
DatePickerRangethat would sometimes shift the allowed dates by one day. - #934 Fixed a bug in
EnhancedTabcomponent that ignoreddisabled_classNameproperty
- #905 Make sure the
figureprop ofdcc.Graphreceives updates from user interactions in the graph, by using the samelayoutobject 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_valueprop todcc.Sliderto 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
ticklabelpositionattribute to cartesian axes and colorbars #5275 - Add "strict"
autotypenumbersto axes andlayout#5240 - Add
itemwidthto legends #5212 - Add
root.colorattribute tosunburstandtreemaptraces #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.Slideranddcc.RangerSlidertooltips 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
persistenceTransformsto 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
prependDatatoGraphto supportPlotly.prependTraces- refactored the existing
extendTracesAPI to be a singlemergeTracesAPI that can handle bothprependas 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"
ticklabelmodeon cartesian date axes #4993, #5055, #5060, #5065, #5088, #5089 - Add new formatting options for weeks and quarters #5026
- Add
sourceattribute toimagetraces for fast rendering #5075 - Add
zsmoothattribute for discreteheatmapgltraces #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.Loadingcomponentparent_className: Add CSS class for the outermostdcc.Loadingparent div DOM nodeparent_style: Add CSS style property for the outermostdcc.Loadingparent div DOM node- provides a workaround for the previous behaviour the of
classNameproperty, which changed in #740.parent_className(or inline styles inparent_style) now allow CSS rules to be applied to the outermostdcc.Loadingdiv, which is no longer covered byclassNameon loading completion as of Dash Core Components>= 1.9.1(Dash>= 1.11.0).
- #793 Added title key (i.e. HTML
titleattribute) to option dicts indcc.Dropdownoptions[]list property.
- #792 Improved the robustness of
dcc.Storecomponents, fixing #456 whereby persistent storage could become corrupted, and fixing lifecycle issues that prevented addingStorecomponents 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
uirevisionwas not behaving when inside adcc.Loadingcomponent
- #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
numberdid 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.jswas listed indevDependenciesinstead ofdependencies
- #711 Added support for
dcc.Link(dccLink) and nesteddcc.Markdown(dccMarkdown) react components inside ofdcc.Markdown - #706
- Added new
responsiveproperty 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--pendingclass 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.jsis now bundled into the package, and no longer sets thewindow.hljsvariable. Similarly to howplotly.jsis 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
minandmaxare 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
markslabels.
- Marks outside of the range specified by
- #695 Added new property
verticalHeightto 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_allowedfor the initial visible month if the value of the parameterinitial_visible_monthis 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
imagetrace type to display 3- or 4-channel color images as data automarginforpiecharts for better readability when labeling lots of small slices- Toggle-type
updatemenus zh-CNlocalization- 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_valueprop 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
treemaptrace type for display of hierarchical data. texttemplatesupport for all traces with on-graph text, and custom date formatting for templated on-graph and hover text.- Transitions (animation) for
barcharts. - 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. Setpersistenceto a truthy value to enable, the other two modify persistence behavior. See plotly/dash#903 for more details. #646
-
Fixed
SliderandRangeSlidercomponents withtooltip.always_visible#640 -
Fixed an infinite loop problem when
Graphis wrapped byLoadingcomponent #608
-
Fixed problems with
Graphcomponents leaking events and being recreated multiple times if declared with no ID #604 -
Fixed problem with
DatePickerRangecomponent aboutclearablenot working #614 and #594
- Fixed inconsistent behavior of
inputwithtype=number#580
- Upgraded plotly.js to 1.49.0 #589
- Feature release 1.49.0 which contains:
- New
indicatortrace type for gauge and KPI displays. - Lots of tile map improvements:
choroplethmapboxanddensitymapboxtrace types, numerousstyleoptions formapboxsubplots that do not require a Mapbox access token, and more. - Various bug fixes and smaller improvements.
- New
- Feature release 1.49.0 which contains:
Markdowncomponents 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
dedentprop toMarkdowncomponents, 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
SliderandRangeSlider, which can be visible always or on hover. Tooltips also take a position argument. #564
- Fixed
min_date_allowedandmax_date_allowedbug inDatePickerRange#551 - Fixed unwanted
resize()calls on unmountedGraphs #534 - Fixed
tab--disabledCSS class issue inTabcomponent with custom styling #568
- Changed
dcc.Checklistpropvaluestovalue, to match all the other input components #558. Also improved prop types forDropdownandRadioItemsvalueprops to consistently accept both strings and numbers.
- 💥 Removed the
SyntaxHighlightercomponent. This is now built intoMarkdown#562. - Removed the
containerPropsprop inMarkdown- after the refactor of #562, its function is served by theid,className, andstyleprops. #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
funnelandfunnelareatrace types - Shared color axes and colorbars
- Sorting cartesian axes by the value on the opposite axis
- Improvements to
bar&waterfalltext, 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:
figureprop indcc.Graphnow accepts aframeskey- Improved the
Dropdownoptions description for dash-docs #547 - Added
optionHeightprop toDropdown#552 - Merged in R
dashCoreComponentspackage and updated to 0.48.0
- Removed unused
keyprop 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:autocompleteis nowautoCompleteautofocusis nowautoFocusinputmodeis nowinputModemaxlengthis nowmaxLengthminlengthis nowminLength
- Improved property definitions of various components in anticipation of upcoming component validation (plotly/dash-renderer#100). #523
- Breaking -
n_blur_timestamp&n_submit_timestampinInput&Textareais now a number instead of a date object/string. This matches the form ofn_clicks_timestampas used indash_html_components. #523 - Fixed an issue with
ConfirmDialogthat could display multiple confirm popups instead of a single popup in certain contexts. #523 dcc.MarkdowncontainerPropsis now applied to the component's container again. This was broken in 0.45.0'sreact-markdownupgrade.
-
dcc.Intervalwill reset its timer when re-enabled. Previously, if thedcc.Intervalwas disabled, it's "clock would keep running": when it was reenabled, it would fire at the nextintervalon the previous clock's schedule, rather thanintervalmilliseconds 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`
extendDataprop forGraphcomponent. This feedsPlotly.extendTracesfor 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_stateprop forInputcomponent. #498 - Ensure
DatePickerSinglecallbacks fire with cleared dates. #511 - Fixes incorrect default values for
configprop ofGraph. #515
- Upgraded plotly.js to 1.47.0 #516
- Feature release 1.47.0 which contains:
- New
volumegl3d 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
waterfalltrace type - New
sunbursttrace 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:
restyleDataprop forGraphcomponent #483
dcc.Markdownnow uses GitHub-flavored markdown instead of CommonMark markdown. This was done as part of upgradingreact-markdownthird 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_blurandn_clicks- along withn_blur_timestampandn_clicks_timestamp- inTextareacomponents, to maintain the functionality lost by removing theclickandblurevents. All other events were already covered by existing props. #444 - Merged in R
dashCoreComponentspackage and updated to 0.43.0
- Fix dynamically disabling and enabling
Intervalcomponents #436 - Clear date in DatePickerSingle and DatePickerRange #434
- Removed
Eventsystem - see plotly/dash#531 for details. #444
- Upgraded plotly.js to 1.44.1 #445
- Feature release 1.44.0 which contains:
- A new
isosurfacegl3d trace type - Animated transitions via
Plotly.reactusinglayout.transitions hovertemplatesupport 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.Storetype changes #427
- Fix
dcc.Storenull 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:
multicategoryaxis type for hierarchical categoriesuirevisionattributes to control persistence of user-driven changes to the graphhovertemplatefor 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_htmlprop 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
reactandreact-domto version^16.6.1 - Updated
react-docgento^2.21.0 - Updated
react-select-fast-filter-optionsto^0.2.3 - Updated
react-virtualized-selectto^3.1.3 - Upgraded
babeland dependencies to7.1.5 - Upgraded
enzymeand dependencies to3.7.0 - Removed
react-selectbecause it's unused - we're usingreact-virtualized-selectinstead.
- The issue #115
with datepicker, which didn't appear when the date value is
Nonewas fixed. By default, current month would appear in such cases forDatePickerRangeandDatePickerSinglecomponents. See pull request #201. - Refactored the way the Graph component would generate an unique id if none provided.
- Default CSS imported via
style-loaderis 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-selectto version2.1.0
- Added
clickannotationevent todcc.Graph. See #182.
- Some Input props weren't being picked up by React. Changed:
autocompletetoautoCompleteautofocustoautoFocusinputmodetoinputModemaxlengthtomaxLengthminlengthtominLength
- Unit tests for
Inputcomponent. - New
debounceprop forInputcomponent that determines if the input should update to a Dash server immediately, or on 'Enter' key. Fixes #169
minandmaxprop now won't update the input when values are lower than or greater thanminandmaxrespectively. Fixes#173stepprop can now be anumberand is therefor set correctly on the corresponding<input/>tag. Fixes #292
- The
npm startcommand 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) modebarstylingpietrace 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-unitwill 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:
testnow runs Selenium integration testsformatruns Prettier formatter- There are new
buildscripts, most notablybuild:watchruns a watcher and rebuilds upon changes - There's a new
publish-allscript that publishes to NPM and PyPi
- The
startscript will now run theDemoapplication
- Fixed regression in Graph component where it wouldn't resize correctly #256
- Renamed
__init__.pyexternal_path to dash_core_components.min.js
- Unminified dev bundle support. #293
-
Upgraded Plotly.js, the underlying library behind the
dash_core_components.Graphcomponent, to version 1.41.0 #302. Feature release 1.41.0 adds:- Stacked area charts, as part of
scattertraces - A new
barpolartrace type for polar "bar" traces. This replaces and improves the deprecatedareatrace type. - A
responsiveplot 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
Intervalcomponent'smax_intervalprop can now be used to stop/restart the interval. Fixes #266 - The
Graphcomponent'sidis 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
candlestickandOHLCcharts are now plotted using thePlotly.reactmethod instead of thePlotly.newPlotmethod.
- 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:
contourtrace legend itemspiecolorwayandextendpiecolorsattributes for more control overpiecolors- And many other features and bug fixes
Tabs.childrencan now be undefined, so you can update them dynamically. #265TabsCallback-less version no longer has the 2nd tab selected by default #262- Fixes bug with nested
Tabs#273 and #272
ConfirmDialogProvidercan now be used without a callback. #241ConfirmDialog, only firesubmitwhensubmitis clicked. #242 fixed in #241
dash_core_components/__init__.pynow 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.
ConfirmDialogandConfirmDialogProvidercomponents #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_intervalprop toIntervalcomponent, fixing issue #222
- Upgraded plotly.js, the underlying library behind the
dash_core_components.Graphcomponent, to version 1.39.1 #228. This includes:- Feature release 1.39.0, which contains:
layout.templatecapability, along withPlotly.makeTemplateandPlotly.validateTemplate.- A new 3D
streamtubetrace type scatterglon-graph textpolarpolygon 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
conetrace type to visualize vector fields - A new
splom(aka Scatter PLOt Matrix) trace type - Performance improvements for
splomand other multi-subplot graphs plotly_legendclickandplotly_legenddoubleclickevents- Multi-selection and click-to-select for
parcoordsaxes - 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.Inputcomponent now handlesdisabled=Falseproperty.- Broken sourcemaps for debugging.
- Testing configuration for CHROMEPATH and SERVER_PROCESSES
- Various bugs with the
ohlcandcandlestickchart type in thedcc.Graphcomponent 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_componentswill check if the user has a file nameddash.pyand warn the users appropriately. #177
- In some cases, frequently multi-page apps, the
dcc.Graphinteractive properties will stop working (selectedData,hoverData,relayoutData). This should be fixed now. #178 dcc.Graphwill now resize after it it plotted for the first time. This should fix issues where thedcc.Graphcomponent was not fitting to the size of its container. #178
- Upgraded Plotly.js, the underlying library behind the
dash_core_components.Graphcomponent, 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
automarginattribute for cartesian axes with long tick labels - Support for typed arrays as data inputs
- layout
gridattribute for easy subplot generation - And numerous other features and bug fixes
- An
- The
selectedData,clickData, andhoverDatacallbacks were being attached without being removed every time the graph was updated. They are now removed and reattached. #172
- The
serve_locallywas broken - the Plotly.js bundle wasn't being served correctly.
- Upgraded plotly.js, the underlying library behind the
dash_core_components.Graphcomponent, 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
contourtraces notchedboxtraces- Localization machinery for auto-formatted date axis ticks
- And many other features and bug fixes
PropTypesnow usesprop-typespackage instead ofReactto 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.Graphcomponent, to version 1.33.0. This was a huge release! Here are some of the new features that are available:- Completely rewritten
scattergltrace type usingreglplotly.js#2258 - Completely rewritten polar chart renderer accompanied by new
scatterpolarandscatterpolargltrace types plotly.js#2200. The old polar trace types -scatterwith(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
scattergltraces plotly.js#2258 - Add
fillcapabilities toscattergltraces plotly.js#2258 - Add
spikedistance,hoverdistanceandspikesnapfor 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
Noneis supplied toSyntaxHighlighterorMarkdown, the component would not render and the app would break. This is problematic because ifchildrenisn't supplied (as done in the case for when you are updating that property from a callback),Noneis the default property. Fixes #147. This bug was introduced in v0.15.4.
- The
dcc.Graphcomponent now includespointNumbersinsideselectedDataandhoverDataif the chart type is ahistogram,histogram2d, orhistogram2dcontour.
- Upgraded Plotly.js, the underlying library behind the
dash_core_components.Graphcomponent, to version 1.32.0 #143. Feature release 1.32.0 includes:- Localization machinery, including an official German translation (locale
de) - A new
violintrace type - Selection improvements:
selectedandunselectedattribute containers to customize selection states, Support for multi-selections, persistent selections. colorwayattribute to customize the trace-to-trace color sequence- Add
tickformatstopsto 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.Locationanddash_core_components.Linkproperties should now work on Internet Explorer. Thanks to @nedned for suggesting a solution. Fixes #113
- The
dash_core_components.Locationcomponent now supportshash,href, andsearchin addition to the already supportedpathname(mimicking thewindow.locationAPI).hrefcan be used to handlepathname,hash, andsearchin aggregate, or each can be manipulated independently. - The
childrenproperty ofdash_core_components.Markdownanddash_core_components.SyntaxHighlighternow 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
Intervalcomponent has a new property:n_intervals. This is an integer that increases every time that the interval passes. This allows you to use theIntervalcomponent 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_clickproperty in thedcc.Uploadcomponent 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
Uploadcomponent! 🎉 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
tabletrace type geo.centermaking geo views fully reproducible- Extend lasso and select-box drag modes to
bar,histogram,scattergeo, andchoroplethtrace types aggregatetransforms- 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_allowedproperty ofDatePickerSingleandDatePickerRangeprogrammatically through callbacks - Clicking on the end date in the
DatePickerRangewill now open up the calendar to the end date (#80)
- Cleaned up
DatePickerSingleandDatePickerRange
- Non-ascii characters, like chinese characters, are now supported as
search strings in the
dcc.Dropdowncomponent (#75)
- The
Intervalcomponent 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
labelproperty from theSlidercomponent - Provide a more descriptive documentation for the
marksproperty of theSlidercomponent
- A
disabledproperty on theIntervalcomponent will disable the interval component from firing its updates.
- Added
classNameandstyleproperties to the parentdivs of theChecklist,Dropdown,GraphandRadioItemscomponent. As requested in #57, solved in #60
- Previously, the
max_date_allowedcould 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
optionsof adcc.Dropdownwould 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.DatePickerSingleanddcc.DatePickerRangewhenvertical=True.with_portalandwith_full_screen_portalwill only apply ifvertical=False.
- Added two new date picker components:
dcc.DatePickerSingleanddcc.DatePickerRange
- Added support for all of the valid HTML attributes of the
Inputcomponent. - Added support for a few more
typevalues of theInputcomponent. 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
Dropdowncomponent rendersoptionsmuch, 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
configproperty of theGraphcomponent 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
Textareacomponent for displaying the simple Textarea HTML element. The content of theTextareais controlled through thevalueproperty:
dcc.Textarea(id='my-text-area' value='''
SELECT * FROM MY_TABLES
LIMIT 10;
''')
- Clearing a Graph selection box sets the
selectedDatavalue toNone(nullin JavaScript). Before, it didn't change theselectedDataproperty, preventing the user and the Dash developer from clearing selections. Fixes plotly/dash#97, thanks to @pmbaumgartner for reporting.
- The
clearableproperty to theDropdown, which toggles on and off the "x" on the side of the dropdown that clears the current selection. - The
searchableproperty to theDropdown, which toggles on and off whether theDropdownis searchable.
- Clicking on the little
xon 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
Sliderand theRangeSlidercomponent 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 settingupdatemodeto'mouseup'('drag'is the default). - A
LinkandLocationwere added.Locationrepresents the address bar of the web browser andLinkprovides 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
rangeobject is now included in theselectedDataobject that specifies that dimensions of the selected region. - A
lassoPointsobject is now included in theselectedDataobject that provides coordinates of the lassoed region.
- A new property
clear_on_unhoveron theGraphcomponent will clear thehoverDataproperty when the user "unhovers" from a point if True. If False, then thehoverDataproperty will be equal to the data from the last point that was hovered over. The default is False.