chore: Upgrade bslib to 0.11.0 and Bootstrap to 5.3.8, add brite theme#2246
Merged
Conversation
cpsievert
reviewed
May 20, 2026
This was referenced May 21, 2026
Vendors updated SCSS/JS/CSS assets from rstudio/bslib@main, including Bootstrap 5.3.1 → 5.3.8 and the new Bootswatch `brite` theme preset.
Picks up two upstream fixes: - rstudio/shiny#4388: Fix IntersectionObserver on display:contents uiOutput - rstudio/bslib#1308: Elevate CSS specificity for BS5 radio/checkbox label margin The bslib specificity fix is now fully effective because the bundle order in scripts/_functions_sass.R (from #2256) puts shiny.scss before bslib's bs3compat layer, so bslib wins same-specificity cascade ties.
c755ac3 to
def6504
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Depends on:
Vendors updated assets from
rstudio/bslib@mainviamake upgrade-html-deps:0.10.0.9000→0.11.0.90005.3.1→5.3.80.10.0.9000→0.11.0.9000brite— added upstream in Bootswatch, now vendored and exposed as a validShinyThemePresetThis was produced as a side-effect of running
make upgrade-html-depsto verify the fix in #2242. Split into a separate PR because the Bootstrap minor version bump warrants independent review.Risk
The Bootstrap
5.3.1→5.3.8bump may include CSS changes that affect existing app styling. Review the vendored SCSS/CSS diffs before merging.Test plan
britetheme renders correctlyBreaking changes evaluation
1. shiny.js — IntersectionObserver fix (rstudio/shiny#4388)
resolveObservableTarget()to walk up to the nearest non-.shiny-html-outputancestor before attaching theIntersectionObserveruiOutputvisibility detection. No API surface changes.2. CSS — checkbox/radio label margin (rstudio/bslib#1308 + #2256)
.shiny-input-checkboxgroup→.shiny-input-checkboxgroup.shiny-input-checkboxgroup(specificity bump)margin-toponlabel ~ .shiny-options-groupshifts from−10px(shiny.scss) tocalc(−0.15em − var(--bs-border-width))(~−3.4px) for both stacked and inline groupsmargin-topwith a single-class selector would now need two classes to win, but that's an edge case for a spacing property.3. Everything else — version string bumps in JSON files and JS headers only; no behavioral changes.
Summary: No breaking changes. The one user-visible effect is the corrected label-to-options gap on checkbox and radio groups in BS5 apps, which is intentional.