### Highlights - **New:** (Finally!) Added responsive container classes. - **New:** Added `.row-cols-*` shortcut classes to quickly set the width of all columns in a row. Use this for responsive card decks! - **New:** The `escape-svg` sass function to escape svg's when used as data URI for background images. - **Fixed:** Changed `:disabled` selectors to `[disabled]` to fix a bug with Microsoft Edge - **Deprecated:** `bg-variant()` mixin because v5 is changing our background utilities to no longer have focus/hover styles - **Deprecated:** `form-control-focus()` mixin because it's only used once ### CSS - #27890: Fix buttons `:focus` state styles - #28208: Reset padding of `.form-control-plaintext` - #28262: Deprecate form-control-focus mixin - #28275: Change `:disabled` to `[disabled]` for Edge - #28328: Change `word-break: break-word` to `word-wrap: break-word` in `<code>` elements - #28365: Fix `border` if only one card in accordion - #28400: Disable `_assert-ascending` function's check if the previous unit was a percent value - #28417: Fix scrollbars in screenreader utilities - #28447: Prevent form validation mixin from generating invalid CSS - #28464: Sync plain text font-size with `$input-font-size` - #28530: Fix prefers-reduced-motion for animated progress bars - #28567: Remove duplicate `$table-dark-color` variable - #28585, #28775: Calculate modal header/footer border radius according to the border width - #28633: Add variable for `.custom-control-label`'s color - #28733: Fix incorrect variable for popover border radius - #28782, #28785: Cleanup `.input-group`'s use of `flex-basis`. - #28784: Adjust `z-index` on pagination according to our z-index rules - #28814: Fix background position for form-validation - #28852: Adjust position of browser validation messages on custom checks and radios - #28883: Add `width` and `height` to SVG background-images for IE10 - #28938: Deprecated `bg-variant()` mixin - #28944: Move to exclamation icon on invalid form fields to avoid implying "clear field" functionality - #28956: Remove redundant radius properties on `.list-group-item` - #29077: Use `escape-svg()` function - #29095: Add responsive containers - #29204, #29209: Fix `min-width` of `.input-group` flex items in Firefox. - #29268 Deprecate `text-emphasis-variant()` mixin - #29073: Add row columns for responsive card decks and more ### JS - #28558: Reset carousel touch delta x to prevent click transformed in swipe - #28630: Call toast `hide()` after `delay` time - #28656: Fix unit tests for Chrome Mobile - #28777: Toasts should allow prevent default for hide and show events - #28834: Fix keyboard handling of button-style checkbox/radio button groups - #28896: Remove listeners created by tooltip during dispose method - #28912: Don't open dropdown on escape of triggering element - #28929: Add unit test for closing dropdowns with escape key - #28952: Ensure button plugin sets/removes active class correctly on page load ### Docs - #28920, #29025, #29034, #29035, #29032, #29051: Fix links and typos - #28288: Create `SECURITY.md` for security policies and workflows - #28305: Add `aria-disabled` on all disabled links - #28360: Add explicit `aria-label` on icon-only links in Examples - #28361: Add landmarks for secondary navigation - #28406: Remove redundant placeholders in forms docs - #28437: Remove indiscriminate outline suppression for `tabindex="-1"` elements - #28491: Anonymize Google Analytics IP addresses - #28851: add accessibility/keyboard callout to popovers, tweak tooltips callout - #28939: Combine duplicate grid docs sections - #28983: Add ARIA search landmark - #28993: Add `prefers-reduced-motion` callout to toast documentation - #29079: Remove unmaintained Iconic set and bump Feather to preferred ### Build - #29002: Moved bundlesize config to separate file - #28846: Use `npm-run-all` in the `netlify` script - Update devDependencies and gems
Highlights
.row-cols-*shortcut classes to quickly set the width of all columns in a row. Use this for responsive card decks!escape-svgsass function to escape svg's when used as data URI for background images.:disabledselectors to[disabled]to fix a bug with Microsoft Edgebg-variant()mixin because v5 is changing our background utilities to no longer have focus/hover stylesform-control-focus()mixin because it's only used onceCSS
:focusstate styles.form-control-plaintext:disabledto[disabled]for Edgeword-break: break-wordtoword-wrap: break-wordin<code>elementsborderif only one card in accordion_assert-ascendingfunction's check if the previous unit was a percent value$input-font-size$table-dark-colorvariable.custom-control-label's color.input-group's use offlex-basis.z-indexon pagination according to our z-index ruleswidthandheightto SVG background-images for IE10bg-variant()mixin #28938: Deprecatedbg-variant()mixin.list-group-itemescape-svg()functionmin-widthof.input-groupflex items in Firefox.text-emphasis-variant()mixinJS
delaytime #28630: Call toasthide()afterdelaytimeDocs
SECURITY.mdfor security policies and workflowsaria-disabledon all disabled linksaria-labelon icon-only links in Examplestabindex="-1"elementsprefers-reduced-motioncallout to toast documentation #28993: Addprefers-reduced-motioncallout to toast documentationBuild
npm-run-allin thenetlifyscript. #28846: Usenpm-run-allin thenetlifyscript