Upgrade notes for Shiny 1.5.0
Full changelog
Breaking changes
- Fixed #2869: Until this release,
renderImage()
had a dangerous default ofdeleteFile = TRUE
. (Sorry!) Going forward, calls torenderImage()
will need an explicitdeleteFile
argument; for now, failing to provide one will result in a warning message, and the file will be deleted if it appears to be within thetempdir()
. (#2881)
New features
The new
shinyAppTemplate()
function creates a new template Shiny application, where components are optional, such as helper files in an R/ subdirectory, a module, and various kinds of tests. (#2704)runTests()
is a new function that behaves much like R CMD check.runTests()
invokes all of the top-level R files in the tests/ directory inside an application, in that application’s environment. (#2585)testServer()
is a new function for testing reactive behavior inside server functions and modules. (#2682, #2764, #2807)The new
moduleServer
function provides a simpler interface for creating and using modules. (#2773)Resolved #2732:
markdown()
is a new function for writing Markdown with Github extensions directly in Shiny UIs. Markdown rendering is performed by the commonmark package. (#2737)The
getCurrentOutputInfo()
function can now return the background color (bg
), foreground color (fg
),accent
(i.e., hyperlink) color, andfont
information of the output’s HTML container. This information is reported byplotOutput()
,imageOutput()
, and any other output bindings containing a class of.shiny-report-theme
. This feature allows developers to style an output’s contents based on the container’s CSS styling. (#2740)
Minor new features and improvements
Fixed #2042, #2628: In a
dateInput
anddateRangeInput
, disabled months and years are now a lighter gray, to make it easier to see that they are disabled. (#2690)getCurrentOutputInfo()
previously threw an error when called from outside of an output; now it returnsNULL
. (#2707 and #2858)Added a label to observer that auto-reloads
R/
directory to avoid confusion when usingreactlog
. (#58)getDefaultReactiveDomain()
can now be called inside asession$onSessionEnded
callback and will return the callingsession
information. (#2757)Added a
'function'
class toreactive()
andreactiveVal()
objects. (#2793)Added a new option (
type = "hidden"
) totabsetPanel()
, making it easier to set the active tab via other input controls (e.g.,radioButtons()
) rather than tabs or pills. Use this option in conjunction withupdateTabsetPanel()
and the newtabsetPanelBody()
function (seehelp(tabsetPanel)
for an example and more details). (#2814)Added function
updateActionLink()
to update anactionLink()
label and/or icon value. (#2811)Fixed #2856: Bumped jQuery 3 from 3.4.1 to 3.5.1. (#2857)
Bug fixes
Fixed #2606:
debounce()
would not work properly if the code in the reactive expression threw an error on the first run. (#2652)Fixed #2653: The
dataTableOutput()
could have incorrect output if certain characters were in the column names. (#2658)
Documentation Updates
Library updates
- Updated from Font-Awesome 5.3.1 to 5.13.0, which includes icons related to COVID-19. For upgrade notes, see https://github.com/FortAwesome/Font-Awesome/blob/master/UPGRADING.md. (#2891)