Skip to content

Release bootstrap_form 4.0.0.alpha1 #361

@mattbrictson

Description

@mattbrictson

Goals

bootstrap_form has been "stuck" for several months with no major releases despite the looming release of Bootstrap v4 and new versions of Ruby and Rails. My goal as the de-facto maintainer of this project, and with the help of the community, is to get things moving again in 2018 and do a major new release.

Importantly, I also want to make this project more accessible to new contributors and easier to maintain. That means slimming down the version of Rails and Ruby we support to remove end-of-life (EOL) versions.

Background

Part of the reason we're stuck is that Bootstrap v4 has had an extremely long pre-release cycle (the first alpha shipped over two years ago). This left bootstrap_form in a kind of limbo: when and how do we fully commit to releasing a version of bootstrap_form that supports v4? Do we continue supporting v3 in the meantime? How best to divide our attention? Do we have to actively maintain two gems?

Into this mix add the fact that both Rails and Ruby are moving targets themselves. In particular, Rails 5.1 has brought the new form_with DSL, and the Rails team has strongly hinted that form_for, which is the basis for bootstrap_form, will eventually be deprecated.

Finally, the de-facto maintainer (yours truly) has been largely absent from the discussions surrounding these issues due to other time commitments. 😓

I feel strongly that bootstrap_form is a high-quality gem and useful to a large number of people, and I want to see us overcome these temporary setbacks.

Roadmap

The existing version of bootstrap_form, 2.7.0, is stable and works well for Bootstrap v3. I think it is time to end active development for 2.7.x and Bootstrap v3 support and go all-in on Bootstrap v4. Here's how the transition will work:

We will keep the version 2.7.0 of the gem as-is, and create a legacy-2.7 branch to allow for future patches but make it clear that it will not be under active development. We'll tag all existing issues and pull requests that aren't Bootstrap v4-related as "legacy" (and perhaps close them at some point if they aren't show-stopping bugs). Version 2.7.0 would be the last version of the gem to support Bootstrap v3.

Next, we make an effort to start merging all the Bootstrap v4 stuff into master. This will be a challenge since there are a lot of PRs pending, but if we can divide up the work among many contributors we can get through it.

The master branch will become bootstrap_form 4.0.0 (i.e skip 3.x entirely and go to version 4 to match Bootstrap v4). Version 4.0.0 will completely drop support for Bootstrap v3. While we are at it, to make future maintenance easier, we'll also drop support Ruby < 2.2 (these are EOL) as well as drop support for Rails < 5.0.

The master is where we will add support for form_with. This won't get back-ported to the legacy branch.

Once the master branch has settled, I'll release a 4.0.0.alpha1 to rubygems allow people to more easily test it out.

Our Progress

Also refer to the 4.0.0 milestone on GitHub.

How You Can Help

If you are using bootstrap_form and have questions about the roadmap or suggestions, I would like to hear from you! Please add a comment to this issue below.

PRs are welcome! If you would like to contribute code or documentation to help achieve our goals for bootstrap-form 4.0.0, post a comment here to let everyone know which of the items in the checklist above you'd like to work on. Then get to work on your PR!

We also need help reviewing new PRs and the backlog of Bootstrap v4 PRs that will need to get merged into master. If you've contributed to this project in the past and would like to help, send an email to the address on my GitHub profile. So far @lcreid, @donv, and @desheikh have all stepped up to help review PRs; thank you so much for your support!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions