All notable changes to dash
will be documented in this file.
This project adheres to Semantic Versioning.
- Minor release to update and match the semantic versioning spec with the CRAN release of DashR.
- Removed source-mapping from the
master
branch on Github and CRAN release of Dash R. Source-mapping is still available in thedev
branch for contributors. #282
-
Dash layout wrapper functions are included, which simplify the layout syntax for writing Dash apps. This includes the ability to pipe in the
app
object to layout and meta functions, as well as tags which simplifyhtml
component arguments and children. #265 -
Added simplified and flexible callbacks with the
add_callback
helper function. Included in this change are multiple additional helper functions to simplify Dash app configuration and tag usage. #270
- Unified the core Dash packages (dash, dashCoreComponents, dashHtmlComponents, dashTable) for streamlined maintenance and accessibility. The namespaces of these packages will be combined under the
dash
namespace, and all artifacts from the ancillary dash packages will be included with Dash for R. #243 - Removed source-mapping from the
master
branch on Github and CRAN release of Dash R. Source-mapping is still available in thedev
branch for contributors. #282
-
Minor fix for favicon issue continued from #240 (for more details, see #243).
-
Minor fix to enable
suppress_callback_exceptions
configuration option when creating a Dash app. #268 -
A regression which prevented favicons from displaying properly has been resolved, and a default Dash favicon is now supplied when none is provided in the
assets
directory. #240
- Fixes a minor bug in
setCallbackContext
(described in #236) which prevented pattern-matching callbacks from working properly if one or moreinput
statements did not include a selector. #237
- Dash for R now depends on v1.1.1 of
dashHtmlComponents
- Dash for R now depends on v1.13.0 of
dashCoreComponents
- Dash for R now depends on v4.11.0 of
dashTable
dash-renderer
version is now v1.8.3
- Pattern-matching IDs and callbacks. Component IDs can be lists, and callbacks can reference patterns of components, using three different wildcards:
ALL
,MATCH
, andALLSMALLER
. This lets you create components on demand, and have callbacks respond to any and all of them. To help with this,app$callback_context
gets three new entries:outputs_list
,inputs_list
, andstates_list
, which contain all the ids, properties, and except for the outputs, the property values from all matched components. #228 - New and improved callback graph in the debug menu. Now based on Cytoscape for much more interactivity, plus callback profiling including number of calls, fine-grained time information, bytes sent and received, and more. You can even add custom timing information on the server with
callback_context.record_timing(name, duration, description)
#224 - Support for setting attributes on
external_scripts
andexternal_stylesheets
, and validation for the parameters passed (attributes are verified, and elements that are lists themselves must be named). #226 - Dash for R now supports user-defined routes and redirects via the
app$server_route
andapp$redirect
methods. #225
dash-renderer
updated to v1.8.2
- Fixes a minor bug in debug mode that prevented display of user-defined error messages when induced by invoking the
stop
function. #220. - URLs for unpkg.com for dash-renderer were outdated, and now fetch v1.6.0 also;
dash-renderer
v1.5.1 has been removed frominst/lib
.
- Dash for R now supports an
update_title
parameter, as in Dash for Python. #218
dash-renderer
updated to v1.6.0- Dash for R now depends on v4.9.0 of
dashTable
(provides several fixes from #806, #808 and #809) and v1.10.2 ofdashCoreComponents
(which updates Plotly.js to 1.54.7 via #835).
- Dash for R no longer produces a warning when callbacks with no IDs are declared; see #216.
dash-renderer
updated to v1.5.1
- Resolves a regression that prevented multiple loading states from displaying concurrently when a callback updates multiple outputs (for more details, see #1310).
- Dash for R now depends on v4.8.1 of
dashTable
, which fixes a bug where headers are unaligned with columns following an update (for more details, see #797).
- Dash for R now depends on v1.10.1 of
dashCoreComponents
, which provides v1.54 of Plotly.js (for more details, see CHANGELOG.md).
- Dash for R now depends on v4.8.0 of
dashTable
, which incorporates changes and bug fixes summarized in plotly/dash-table#787, plotly/dash-table#785, and plotly/dash-table#793.
- Dash for R now depends on the
brotli
package explicitly; previously it was loaded when importingreqres
. #204
- Dash for R no longer wraps the layout in an
htmlDiv
internally, for parity with Dash for Python. Starting in v0.5.0, thelayout
method only accepts a single argument, and that argument must be a Dash component or a function that returns a Dash component. #121 - Package documentation has been significantly refactored to use new features of
roxygen2
when documenting R6 classes - The
title
method now specifiesDash
as the default application title instead ofdash
. #200
- A minor bug in
validate_keys
which preventedinterpolate_index
from working as intended has been resolved
- Callbacks with multiple outputs which return one or more components are now permitted; a bug previously prevented their use, fixed in #198
- Support for inline clientside callbacks in JavaScript #140
- Support for arbitrary file extensions for assets within component libraries #186
- Dash for R now provides a
show_undo_redo
parameter as in Dash for Python #194
dash-renderer
updated to v1.4.1 #195dashHtmlComponents
updated to v1.0.3dashCoreComponents
updated to v1.10.0dashTable
updated to v4.7.0
- License file in
dashHtmlComponents
now loads properly when installing Dash for R on systems running Microsoft Windows #150
- Support for config-aware relative paths #172
- Support index customization and index templates #168
- Application titles may be set using the
app$title()
method, for parity with Dash for Python'sapp.title
syntax #168
- Dash for R now requires
dashCoreComponents
v1.8.0 - Dash for R now requires
dashTable
v4.6.0 - Automatically set routes and requests pathname prefixes if
DASH_APP_NAME
environment variable has been set #165
- Application titles can no longer be set using
name
parameter, which is now deprecated with a warning, for parity with Dash for Python #168 - Removed
DASH_HOST
andDASH_PORT
, Dash for R now respectsHOST
andPORT
#167
- Support for asynchronous/dynamic loading of dependencies, resource caching, and asset fingerprinting #157
- Compression of text resources using
brotli
,gzip
, ordeflate
#157 - Support for adding
<meta>
tags to index #142 - Hot reloading now supported in debug mode #127
- Support for displaying Dash for R applications within RStudio's viewer pane when
use_viewer = TRUE
- Clientside callbacks written in JavaScript are now supported #130
- Multiple outputs are now supported #119
- Selective callback updates to properties now supported with
dashNoUpdate()
#111 - Additional line number context inserted when available within stack traces #133
- Integration and unit tests are now performed when commits are made to open pull requests
- Support returning asset URLs via
app$get_asset_url
when app is loaded viasource()
orAPP_ROOT_PATH
environment variable is defined #160 url_base_pathname
added; mimics functionality in Dash for Python, sets defaults forroutes_pathname_prefix
andrequests_pathname_prefix
when not otherwise provided #161
dash-renderer
updated to v1.2.2 #137- Dash for R no longer requires forked
reqres
, patch applied upstream thomasp85/reqres#9 - The
pruned_errors
parameter has been renamed todev_tools_prune_errors
#113
- Stack traces now display properly within viewer pane when
debug = TRUE
anduse_viewer = TRUE
#137 - Patch for
reqres
package to handle cookies containing multiple "=" #122 - Handling for user-defined errors in callbacks implemented #116
- Fixes for hot reloading interval handling and refreshing apps within viewer pane #148
get_asset_url
checksgetAppPath()
as well asDASH_APP_ROOT_PATH
environment variable when invoked #161
- Initial release
- Support for
plot_ly
andggplotly
"subplots" #84 - Improved debugging support #87, including Dash Dev Tools and
debug
mode - Provide a useful warning message when JS dependencies cannot be found #81
- Support for externalized PropTypes introduced
- Support for
callback_context
added - Options to set
dev_tools_ui
anddev_tools_props_check
added
- Support for
- Package renamed from
dashR
todash
#93 - Dash dependencies are now identified by crawling attached package namespaces for metadata
dash_renderer
updated to 0.23.0
filter_null
has been excised and its logic integrated into generated componentsassert_valid_wildcards
has been relocated into generated component libraries, and only for those which support wildcards
- CSS dependencies are now properly loaded #94
dependencies_set
,dependencies_get
, anddependencies_get_internal
methods removed from package
- Local asset serving implemented #64
- Support for direct import of
plot_ly
andggplotly
figures #71
layout_set
method renamed tolayout
for parity with Dash for Python
- Support for externally hosted CSS via
external_stylesheets
- Validation of dependencies prior to construction of package map #57
- Inspect local environment variables to set routing and request prefixes, add
get_package_mapping
to retrieve dependency map, introduce "catchall" handler,_dash-component-suites
handler #53
- Eliminated
resolve_dependencies
andregister_dependencies
- Tags now constructed internally, rather than using
htmltools
- Bug preventing remotely hosted JS resolved
- Local serving of dependencies fixed when
href
attributes also present
assert_valid_callbacks
to validate callback handler definitions and ordering ofinput
andstate
using newvalid_seq
function
- Callback method and handling refactored to match current Dash for Python API #51
- Handler function for callbacks now passed via
func
argument toapp$callback()
dash_renderer
updated to v0.18.0
- Initial development version