Rails Bootstrap Forms v4.0.0.alpha1 Release Notes

Release Date: 2018-06-16 // almost 6 years ago
  • ๐Ÿฑ ๐Ÿšจ This release adds support for Bootstrap v4 and drops support for Bootstrap v3. ๐Ÿšจ

    If your app uses Bootstrap v3, you should continue using bootstrap_form 2.7.x instead.

    ๐Ÿ“„ Bootstrap v3 and v4 are very different, and thus bootstrap_form now produces different markup in order to target v4. The changes are too many to list here; you can refer to Bootstrap's Migrating to v4 page for a detailed explanation.

    ๐Ÿš€ In addition to these necessary markup changes, the bootstrap_form API itself has the following important changes in this release.

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿš… Rails 4.x is no longer supported
    • ๐Ÿ’Ž Ruby 2.2 or newer is required
    • ๐Ÿšš Built-in support for the nested_form gem has been completely removed
    • ๐Ÿ‘ The icon option is no longer supported (Bootstrap v4 does not include icons)
    • The deprecated Rails methods check_boxes_collection and radio_buttons_collection have been removed
    • hide_label: true and skip_label: true on individual check boxes and radio buttons apply Bootstrap 4 markup. This means the appearance of a page may change if you're upgrading from the Bootstrap 3 version of bootstrap_form, and you used check_box or radio_button with either of those options
    • static_control will no longer properly show error messages. This is the result of bootstrap changes.
    • static_control will also no longer accept a block, use the value option instead.
    • โฌ†๏ธ form_group with a block that produces arbitrary text needs to be modified to produce validation error messages (see the UPGRADE-4.0 document). @lcreid.
    • form_group with a block that contains more than one check_box or radio_button needs to be modified to produce validation error messages (see the UPGRADE-4.0 document). @lcreid.
    • #456: Fix label for attribute when passing non-english characters using collection_check_boxes - @ug0.
    • #449: Bootstrap 4 no longer mixes in .row in .form-group. bootstrap_form adds .row to div.form-group when layout is horizontal.

    ๐Ÿ†• New features

    • ๐Ÿ‘Œ Support for Rails 5.1 form_with - @lcreid.
    • ๐Ÿ‘Œ Support Bootstrap v4's Custom Checkboxes and Radios with a new custom: true option
    • ๐Ÿ‘ Allow HTML in help translations by using the _html suffix on the key - @unikitty37
    • ๐Ÿ’Ž #408: Add option[:id] on static control #245 - @duleorlovic.
    • ๐Ÿ’Ž #455: Support for i18n :html subkeys in help text - @jsaraiva.
    • Adds support for label_as_placeholder option, which will set the label text as an input fields placeholder (and hiding the label for sr_only).
    • 0๏ธโƒฃ #449: Passing .form-row overrides default .form-group.row in horizontal layouts.
    • Added an option to the submit (and primary, by transitivity) form tag helper, render_as_button, which when truthy makes the submit button render as a button instead of an input. This allows you to easily provide further styling to your form submission buttons, without requiring you to reinvent the wheel and use the button helper (and having to manually insert the typical Bootstrap classes). - @jsaraiva.
    • Add :error_message option to check_box and radio_button, so they can output validation error messages if needed. @lcreid.

    ๐Ÿ›  Bugfixes

    • ๐Ÿ’Ž #357 if provided,
      ๐Ÿ‘‰ use html option id to specify for attribute on label
      @duleorlovic