migration.md 5.75 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.
Mark Otto's avatar
Mark Otto committed
44

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

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

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

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

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

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

62
## Forms
63

Mark Otto's avatar
Mark Otto committed
64
65
66
67
68
69
- 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.
70
  - New checks now appear larger by default for improved usability.
Mark Otto's avatar
Mark Otto committed
71
  - Dropped `.custom-control` and associated classes.
72
  - Renamed most `$custom-control` variables to `$form-control` ones.
Mark Otto's avatar
Mark Otto committed
73
74
- Combined native and custom selects into `.form-select`.
  - Dropped `.custom-select` and associated classes.
75
76
77
78
79
80
  - 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
81
82
83
- 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.
84

85
## Components
86

87
### Alerts
88

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

91
### Badges
92

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

95
96
97
- **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
98

99
100
101
102
### Cards

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

103
104
105
106
107
### 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.

108
109
110
111
### Jumbotron

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

112
113
114
115
116
117
118
119
### Popovers

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

### Tooltips

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

120
121
122
123
## Accessibility

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

124
## Utilities
125

126
- Renamed `.text-monospace` to `.font-monospace`
127
- 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).
128
129
- **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
130

131
## Build tools