Problem/Motivation

Set a path to upgrade thousands of Bootstrap theme based sites from Bootstrap 3 to Bootstrap 5

Steps to reproduce

With the same subtheme upgrade Bootstrap base theme from 8.x-3.x to 5.0.x

Proposed resolution

Create compatible templates as a bridge to install/replace on subtheme
Create install routines to migrate configs

Remaining tasks

User interface changes

API changes

Data model changes

Comments

hatuhay created an issue. See original summary.

hatuhay’s picture

Title: Path to upgrade for version 8.x-3.x to 5.0.x » Path to upgrade Bootstrap Theme from version 8.x-3.x to 5.0.x
jcnventura’s picture

I don't think this will ever be possible, to be honest. The version of this theme for Bootstrap 5 is basically the Boostrap Barrio theme. I think the entire premise of how the themes are built is simply different. But it would be good to see some at least some documentation on how to approach this problem.

shelane’s picture

Issue summary: View changes
leeksoup’s picture

I am one of the many thousands of site developers who has to upgrade from Bootstrap 3 to Bootstrap 5. Is there any documentation yet to get us started?

For example:

  • how to install bootstrap 5 in parallel/ in addition to bootstrap 3
  • list of what all will likely need to be updated in sub-themes
  • any "gotchas"

Thanks.

joseph.olstad’s picture

Published 8.x-3.33

joseph.olstad’s picture

Bootstrap 3 has gained Drupal 11 compatibility along with jQuery 4 support. The newest release is also compatible with Drupal 10.

leeksoup’s picture

Thanks! Does something else have to be updated for the jQuery 4, or just the bootstrap module?

joseph.olstad’s picture

@leeksoup,
I suggest reading through the release notes for 3.34 but I will give you the coles notes here.

Basically all you have to do is upgrade to 3.34 but you will have to ensure that these three modules are installed:

  1. jquery_ui
  2. jquery_ui_draggable
  3. jquery_ui_resizable

Doesn't sound like you're interested in the reasons for this but you can find more information by reading the release notes for 3.32 which are included in the release notes for 3.34.

Please report any issues you might find after upgrading. Over 1231 installs of the upgrade after only one week and only a trickle of issues reported.

leeksoup’s picture

@joseph.olstad,
Thanks. Yes I have installed/ updated the 3 jquery_ui* modules since a few updates back. :)
I did the update and no issues so far. Thanks for all your work on this!

aswathyajish’s picture

I have upgraded Bootstrap from 8.x-3.30 to 5.0.1 in drupal 10.3.10. Now a white page is appearing with the following message when taking the home page :

Gateway Timeout

The gateway did not receive a timely response from the upstream server or application.

Any solution to this?

joseph.olstad’s picture

@ashwathyajish, please stick to bootstrap 3 since your theme and likely your sub theme are based on bootstrap 3!

Bootstrap 3 is a recommended release and will continue to be supported. Bootstrap 5 is for new installs not intended for upgrades.

If you are using Drupal core 10.3+ or Drupal 11, then upgrade to bootstrap 3.34

Huge uptake on the Drupal 10.3 / Drupal 11 compatible release of the jQuery 4 compatible Bootstrap 3 Drupal theme. Release 3.34 was released December 2nd 2024 and already has 3061 installs!

joseph.olstad’s picture

Status: Active » Needs work

Currently there is no upgrade path from 3 to 5. Please continue using the supported bootstrap 3 releases. There is a Drupal 11 compatible release and bootstrap 3.

Until such time that an upgrade path is defined and proven I would recommend using Bootstrap 5 for new clean-slate projects but continue to use bootstrap 3 for existing projects that are relying on bootstrap 3.

hatuhay’s picture

@aswathyajish
For the upgrade at last the following steps required:
- Match your subtheme regions with Bootstrap 5 regions.
- Copy page.html.twig from B5 base theme version and update regions previous B3.
- On your subtheme change twig markup to B5 markup.
- Requiere drupal/jquery if your js depends on it.
- Start troubleshooting

jcnventura’s picture

Status: Needs work » Postponed

@joseph.olstad "Needs work" requires existing work to be improved.. If we tagged everything which requires some future effort as "Needs work" you'd certainly agree that 99% of all issues should have that status. If this is not to be left as "Active", then the best status is probably "Postponed" until the point someone can come up with a solution.

Personally, as I said in #3, the upgrade path will never exist, but will instead be a document page, with the major points being what @hatuhay highlights in #14.

dqd’s picture

#3 The version of this theme for Bootstrap 5 is basically the Boostrap Barrio theme.

Wait, what? ... Who decided this on such a large project without a readable user discussion? Or do I not find the issue yet? If that's 100% the case, then this long-awaited "new" v5 version of the original Drupal Bootstrap implementation is actually like a "cheat package" hijacking the original projects url with no warning to the user. Unless it will at least become clearly pointed out on the project page. But still then: Sorry if I maybe misunderstand something here, but this really worries me and others and it does not follow nice practises and community embracing concerns in the best way. We seriously consider to point some moderators to this situation now.

Try to imagine the following scenario: A customer or Drupal user is trying out different Drupal Bootstrap implementation themes over the last years and dislikes most of them in their approach, except the original Bootstrap implementation theme here. And keeps using it with Bootstrap version 3 as long as possible with the hope there will be a real update to Bootstrap v5 under exactly this original project's concept one day. Since the user already disliked other implementations it will be a big surprise to finally find one of those other implementations under the v5 version of this project here now...

I really hope it's just me not getting it right but the commit log actually confirms the quote. If that's the case, I do not agree with the ethics of this way handling the project and the making of decisions on its future without discussion or even clearance on both project pages about the duplicating of Bootstrap Barrio concept into Bootstrap (no offense). Please elaborate.

joseph.olstad’s picture

@dqd there's nothing stopping us from accepting a merge request that we could use for a new branch for the purpose you just mentioned. If you or anyone else tables something forward we could consider it.

With that said, I am currently upgrading a couple important sites to version 3.34 with Drupal 11.1.1 and so far it's working out well.

Moving to bs5 likely will never happen for my clients as they already have long range plans for something completely different. I expect my important clients will be using bs3 for the next 5 years or more.

dqd’s picture

Hi and Thanks for chiming in here, @joseph.olstad - I worry if I got misunderstood. I am not after a certain way to go with the project, since I do not use the theme nor do I plan to or have clients using it. I just humbled over this issue and comments and started to worry about the decision made to duplicate project "Bootstrap Barrio" into the v5 branch of Drupal project "Bootstrap" (at least as it reads) and just labeling it as the new version of Drupal project "Bootstrap". Without any discussion about it nor any info on bnoth project pages. I hope I was able to make my concerns clearer. Thanks for sharing your thoughts and a belated Happy New Year.

shelane’s picture

Wait, what? ... Who decided this on such a large project without a readable user discussion?

The original creator and maintainer of the Bootstrap theme stopped doing Drupal several years ago. There is no one who was part of the original decision making of the architecture of this theme around to make decisions going forward. For those of us who picked up the mantel on it, it was to help keeping it working for those that relied on it and needed it to be updated for the major versions of Drupal.

There was no plan to make this theme compatible with Bootstrap 5 and the effort would have been significant. Anyone at any time could have offered to come in and help upgrade it. No one came to make this theme upgraded to Bootstrap 5 with the same architecture that it had. Also, Drupal now has SDC, which didn't exist at the time this theme was created or when the original maintainer was around.

So, those of us who have been maintaining this theme were approached by the maintainer of Bootstrap Barrio. Since it was the other Bootstrap theme with the most number of users. He suggested combined forces to offer this theme with a Bootstrap 5 version from Bootstrap Barrio. We agreed. No user discussion is necessary because the users cannot make the decisions for the maintainers on how to move forward when it wasn't going to move forward at all.

joseph.olstad’s picture

#19 summs it up nicely.

Thanks @shelane!

giuseppe87’s picture

Thanks for #19 but it's not clear what is Barrio in relation of this project, right now and in the foreseeable future.

Do the 2 project currently share the same code? Are there differences?
Will one of the project be deprecated in favor of the other?
Or will they continue to be two separate themes? Why?

I am strictly wondering about the 5.x.x version, not the legacy 3.x.x one.

I totally find sensible the reasons stated in #19, but I think those question and relative answers - and maybe others - are important information users should have before choosing one or other theme.
Or even contributors - because for example I don't understand why the effort to develop and upgrade the theme in the future should be split into two apparently identical project.

ericyellin’s picture

Not sure this is in the scope of discussion here but since @joseph.olstad asked, I'm updating that I found a compatibility issue with Views Bootstrap module:

- Fresh Drupal 11 install
- Installed Bootstrap 8.x-3.35 and set it as default theme.
- Generated some content with Devel Generate
- Installed Views Bootstrap 8.x-3.12 (Compatible with BS3)
- Created a simple Bootstrap Accordion view
- Accordion not working. Console Error:
Detected jQuery version: 4.0.0-beta.2 -> bootstrap.min.js:7

On Drupal 10 with Bootstrap 8.x-3.35 and Views Bootstrap 8.x-3.12 there is no issue.

Also opening an issue for Views Bootstrap.

joseph.olstad’s picture

@ericyellin ,
I published this module for edge cases. Also, check the release notes for bootstrap.

https://www.drupal.org/project/jquery_downgrade

rosk0’s picture

This is completely not related to the upgrade path, but can someone please address #21 as I have exactly same questions. I don't wan to create a new issue and loosing context from here.

Version 5.0.0 of this theme based on Barrio was released on 14 September 2024 with two more patch releases, last one been on 10 June 2025. At the same time , Barrio Bootstrap keeps receiving updates with the last release on the same date 10 June 2025.

If the idea was to join forces, as outlined in #19 , I would think that there should be an announcement made on one of the projects, I suppose Barrio Bootstrap as the changes went from there into here, and the migration path should be created for users to transition from Barrio Bootstrap => Bootstrap to finalise consolidation of maintainer effort and user bases, but I see none of that.