Bootstrap 5 dropped the .form-group and it was load-bearing

.form-group is gone and the spacing it provided is now expected to come from margin utilities on each element.

<!-- 4.x -->
<div class="form-group">
  <label for="email">Email</label>
  <input class="form-control" id="email">
</div>

<!-- 5.x -->
<div class="mb-3">
  <label for="email" class="form-label">Email</label>
  <input class="form-control" id="email">
</div>

<!-- .form-label is also new. without it, the label has
     no bottom margin and sits against the input. -->

This is the change with the largest template surface, because it touches every form field on the site rather than a handful of components. Defining .form-group as a local class with margin-bottom: 1rem is a legitimate transitional move and should be written down as one, with a date. The .form-label requirement is easy to miss because the form still works and merely looks slightly wrong, which nobody files a ticket about.