Upgrade notes for Shiny 0.11
Shiny 0.11 switches away from the Bootstrap 2 web framework to the next version, Bootstrap 3. This is in part because Bootstrap 2 is no longer being developed, and in part because it allows us to tap into the ecosystem of Bootstrap 3 themes.
Known issues for migration
-
In Bootstrap 3, images in
<img>
tags are no longer automatically scaled to the width of their container. If you useimg()
in your UI code, or<img>
tags in your raw HTML source, it’s possible that they will be too large in the new version of Shiny. To address this you can add theimg-responsive
class:{% highlight r %} img(src = “picture.png”, class = “img-responsive”) {% endhighlight %}
The R code above will generate the following HTML:
{% highlight html %} {% endhighlight %}
-
The sliders have been replaced. Previously, Shiny used the jslider library, but now it uses ion.RangeSlider. The new sliders have an updated appearance, and they have allowed us to fix many long-standing interface issues with the sliders.
The
sliderInput()
function no longer uses theformat
orlocale
options. Instead, you can usepre
,post
, andsep
options to control the prefix, postfix, and thousands separator.updateSliderInput()
can now control the min, max, value, and step size of a slider. Previously, only the value could be controlled this way, and if you wanted to change other values, you needed to use Shiny’s dynamic UI.
- If in your HTML you are using custom CSS classes that are specific to Bootstrap, you may need to update them for Bootstrap 3. See the Bootstrap migration guide. {::nomarkdown}
{:/nomarkdown}
If you encounter other migration issues, please let us know on the shiny-discuss mailing list, or on the Shiny issue tracker.
Using shinybootstrap2
If you would like to use Shiny 0.11 with Bootstrap 2, you can use the shinybootstrap2 package. Installation and usage instructions are on available on the project page. We recommend that you do this only as a temporary solution because future development on Shiny will use Bootstrap 3.
Installing an older version of Shiny
If you want to install a specific version of Shiny other than the latest CRAN release, you can use the install_version()
function from devtools:
{% highlight r %} # Install devtools if you don’t already have it: install.package(“devtools”)
Install the last version of Shiny prior to 0.11
devtools::install_version(“shiny”, “0.10.2.2”) {% endhighlight %}