migration.md 5.99 KB
Newer Older
1
---
Mark Otto's avatar
Mark Otto committed
2
layout: docs
3
4
title: Migrating to v5
description: Track and review changes to the Bootstrap source files, documentation, and components to help you migrate from v4 to v5.
5
group: migration
XhmikosR's avatar
XhmikosR committed
6
aliases: "/migration/"
7
toc: true
8
9
---

10
## Browser support
11

12
See the browser and devices page for details on what is currently supported in Bootstrap 5. Since v4, here's what's changed to our browser support:
13

14
15
16
17
18
19
- Dropped support for Internet Explorer NN
- Dropped support for Firefox NN - MM
- Dropped support for Safari NN
- Dropped support for iOS Safari NN
- Dropped support for Chrome NN
- Dropped support for Android NN
20

21
## Sass
22

23
Changes to our source Sass files and compiled CSS.
24

Mark Otto's avatar
Mark Otto committed
25
- Removed `hover`, `hover-focus`, `plain-hover-focus`, and `hover-focus-active` mixins. Use regular CSS syntax for these moving forward. [See #28267](https://github.com/twbs/bootstrap/pull/28267).
26
27
28
29
30
31
32
33
34
- **Todo:** Remove previously deprecated mixins
  - `float()`
  - `form-control-mixin()`
  - `retina-img()`
  - `text-hide()` (also dropped the associated utility class, `.text-hide`)
  - `visibility()`
- **Todo:** New variables?
- **Todo:** Rearrange forms source files (under `scss/forms/`)
- **Todo:** Rearrange grid source files (under `scss/grid/`)
35
- Removed print styles and `$enable-print-styles` variable. Print display classes, however, have remained intact. [See #28339](https://github.com/twbs/bootstrap/pull/28339).
36
37
- Dropped `color()`, `theme-color()` & `gray()` functions in favor of variables. [See #29083](https://github.com/twbs/bootstrap/pull/29083)
- The `theme-color-level()` function is renamed to `color-level()` and now accepts any color you want instead of only `$theme-color` colors. [See #29083](https://github.com/twbs/bootstrap/pull/29083)
38

39
## JavaScript
40

41
Changes to our source and compiled JavaScript files.
Mark Otto's avatar
Mark Otto committed
42

43
- Dropped jQuery dependency and rewrote plugins to be in regular JavaScript.
XhmikosR's avatar
XhmikosR committed
44
- Removed underscore from public static methods like `_getInstance()``getInstance()`.
Mark Otto's avatar
Mark Otto committed
45

46
## Grid and layout
Mark Otto's avatar
Mark Otto committed
47

48
Changes to any layout tools and our grid system.
Mark Otto's avatar
Mark Otto committed
49

Mark Otto's avatar
Mark Otto committed
50
- Dropped `.media` component as it can be built with utility classes. [See #28265](https://github.com/twbs/bootstrap/pull/28265).
51
52
- **Todo:** Remove `position: relative` from grid columns
- **Todo:** Integrate CSS grid into our grid system
Mark Otto's avatar
Mark Otto committed
53

54
## Content, Reboot, etc
Mark Otto's avatar
Mark Otto committed
55

56
Changes to Reboot, typography, tables, and more.
Mark Otto's avatar
Mark Otto committed
57

58
- **Todo:** Make RFS enabled by default
59
- Reset default horizontal `padding-left` on `<ul>` and `<ol>` elements from browser default `40px` to `2rem`.
Mark Otto's avatar
Mark Otto committed
60
- Simplified table styles (no more 2px border on `thead > th` elements) and tightened cell padding.
61
- Dropped `.pre-scrollable` class. [See #29135](https://github.com/twbs/bootstrap/pull/29135)
62

63
## Forms
64

Mark Otto's avatar
Mark Otto committed
65
66
67
68
69
70
- Rearranged form documentation under its own top-level section.
  - Split out old Forms page into several subpages
  - Moved input groups docs under new Forms section
- Rearranged source Sass files under `scss/forms/`, including moving over input group styles.
- Combined native and custom checkboxes and radios into single `.form-check` class.
  - New checks support sizing via `em`/`font-size` or explicit modifier classes now.
71
  - New checks now appear larger by default for improved usability.
Mark Otto's avatar
Mark Otto committed
72
  - Dropped `.custom-control` and associated classes.
73
  - Renamed most `$custom-control` variables to `$form-control` ones.
Mark Otto's avatar
Mark Otto committed
74
75
- Combined native and custom selects into `.form-select`.
  - Dropped `.custom-select` and associated classes.
76
77
78
79
80
81
  - Renamed most `$custom-select` variables to `$form-select` ones.
- Updated file input component with same overall design, but improved HTML.
  - Refactored `.form-file` markup to resolve some visual bugs while allowing translation and button text changes via HTML instead of CSS.
  - Dropped native `.form-control-file` and `.form-control-range` components entirely.
  - Renamed `.custom-file` to `.form-file` (including variables).
  - Added support for `:focus` and `:disabled` styles.
Mark Otto's avatar
Mark Otto committed
82
83
84
- Renamed `.custom-range` to `.form-range` (including variables).
- Dropped `.form-group` for margin utilities (we've replaced our docs examples with `.mb-3`).
- Dropped support for `.form-control-plaintext` inside `.input-group`s.
85

86
## Components
87

88
### Alerts
89

90
- **Todo:** Remove auto-darkening of `<hr>` elements in `.alert-*` class variants. `<hr>`s use `rgba()` for their color, so these should naturally blend anyway.
91

92
### Badges
93

94
Badges were overhauled to better differentiate themselves from buttons and to better utilize utility classes.
95

96
97
98
- **Todo:** Removed and replaced `.badge` modifier classes with background utility classes (e.g., use `.bg-primary` instead of `.badge-primary`)
- **Todo:** Removed `.badge-pill` for the `.rounded-pill` utility class
- **Todo:** Removed badge's hover and focus styles for `a.badge` and `button.badge`.
Mark Otto's avatar
Mark Otto committed
99

100
101
102
103
### Cards

- Removed the card columns in favor of a Masonry grid [See #28922](https://github.com/twbs/bootstrap/pull/28922).

104
105
106
107
108
### Icons (New!)

- Added new Bootstrap icons to the project for our documentation, form controls, and more.
- Removed Open Iconic icons from project source code for form controls.

109
110
111
112
### Jumbotron

- The jumbotron component is removed in favor of utility classes like `.bg-light` for the background color and `.p-*` classes to control padding.

113
114
115
116
### Pagination

- Pagination links now have customizable `margin-left` that are dynamically rounded on all corners when separated from one another.

117
118
119
120
121
122
123
124
### Popovers

- Renamed `.arrow` to `.popover-arrow`

### Tooltips

- Renamed `.arrow` to `.tooltip-arrow`

125
126
127
128
## Accessibility

- `.sr-only-focusable` does not require `.sr-only` anymore. [See #28720](https://github.com/twbs/bootstrap/pull/28720).

129
## Utilities
130

131
- Renamed `.text-monospace` to `.font-monospace`
132
- Decreased the number of responsive order utilities per breakpoint. The highest order utility with a number now is `.order-5` instead of `.order-12`. [See #28874](https://github.com/twbs/bootstrap/pull/28874).
133
134
- **Todo:** Drop `.text-hide` as it's an antiquated method for hiding text that shouldn't be used anymore
- **Todo:** Split utilities into property-value utility classes and helpers
Mark Otto's avatar
Mark Otto committed
135

136
## Build tools