bootstrap-vue icon indicating copy to clipboard operation
bootstrap-vue copied to clipboard

Bootstrap v5 support

Open leipert opened this issue 5 years ago • 47 comments

Recently Bootstrap announced the first v5 Alpha: https://blog.getbootstrap.com/2020/06/16/bootstrap-5-alpha/

Just raising this issue to gather ideas how a potential migration plan might look like.

leipert avatar Jun 17 '20 07:06 leipert

Maybe it would be worth pinning this issue so that it is more visible to people?

DM2489 avatar Jul 03 '20 15:07 DM2489

BootstrapVue v2:

  • Feature-freeze after v2.17.0
  • Only critical bugfixes and security updates

BootstrapVue v3:

  • Based on BootstrapVue 2.17.0
  • Vue.js v3 support
  • Bootstrap v4.x support
  • Release: Short after Vue.js v3 release

BootstrapVue v4:

  • Complete rewrite
  • Vue.js v3 support
  • Bootstrap v5 support
  • Release: No ETA yet

https://github.com/bootstrap-vue/bootstrap-vue/issues/5196#issuecomment-668837891

Hiws avatar Aug 05 '20 08:08 Hiws

@Hiws Can this be pinned please?

DM2489 avatar Aug 05 '20 08:08 DM2489

Yes please pin, I had to go look for it glad I found it.

LoopsGod avatar Aug 27 '20 14:08 LoopsGod

Please, keep in mind that several developers which run enterprise application won't switch to Vue 3 due to lack of plugins not ready for vue 3 itself, but they wish to benefit of bootstrap 5 improvements.

realnot avatar Oct 22 '20 13:10 realnot

Please, keep in mind that several developers which run enterprise application won't switch to Vue 3 due to lack of plugins not ready for vue 3 itself, but they wish to benefit of bootstrap 5 improvements.

We are looking into supporting both Vue 2 and Vue 3 with the BootstrapVue 3 release by utilizing https://github.com/antfu/vue-demi which looks pretty promising. Which should hopefully mean we can end up on a version that will support both Vue 2/3 + Bootstrap 5.

Hiws avatar Oct 22 '20 13:10 Hiws

BootstrapVue v4:

Complete rewrite

Please don't rewrite the project. Thousands of hours have gone into this project along with thousands of bugfixes, improvements, etc... Experience that all will be undone by rewriting the project, it will take years to get to the same level of features, refinement and bugless-ness with the end result that you're basically at the same point as you were a couple of years before, only now it's been "re-written".

RedShift1 avatar Nov 21 '20 07:11 RedShift1

BootstrapVue v4: Complete rewrite

Please don't rewrite the project. Thousands of hours have gone into this project along with thousands of bugfixes, improvements, etc... Experience that all will be undone by rewriting the project, it will take years to get to the same level of features, refinement and bugless-ness with the end result that you're basically at the same point as you were a couple of years before, only now it's been "re-written".

Not sure why you are getting down voted. Bootstrap-vue should upgrade to Vue3 by continuing to use the Options API, and then slowly change it over to the composition API.

Speedy059 avatar Dec 09 '20 20:12 Speedy059

Is there ETA now for BS5 + Vue3?

Sorry for this but I wasn't able to find a new update on this.

jd-solanki avatar Dec 25 '20 14:12 jd-solanki

@jd-0001 Bootstrap just moved v5 stable release target to February 2021.

I'd be likewise interested to know how long it might take to have BSV on BS v5 after v5 has reached stable version? To have some estimate of this years framework update schedule targets.

ux-engineer avatar Jan 08 '21 08:01 ux-engineer

@jackmu95 now that Vue 3 support upgrade has taken a longer route, does it reduce the amount of work to be done for achieving BS 5 support, as earlier it was mentioned that BS 5 based version will be a complete rewrite?

ux-engineer avatar Jan 08 '21 09:01 ux-engineer

Bootstrap 5 support is a major breaking change and requires completely different changes than the ones for Vue 3 support.

We first need to finish the changes for Vue 3 which will ship in BootstrapVue v3. Then we can focus on Bootstrap 5 support which will land in BootstrapVue v4.

I can't promise right now when BV v4 will ship after the Bootstrap 5 release, but it is less work supporting Bootstrap 5 than Vue 3. We should be able to have a BV release 1 or 2 months later.

BootstrapVue v3 (with Bootstrap v4) support will also match the EOL from Bootstrap.

jacobmllr95 avatar Jan 08 '21 10:01 jacobmllr95

What about Vue 2 + Bootstrap 5? It seems Vue 2 will stay for quite a while.

laoshaw avatar Feb 15 '21 16:02 laoshaw

What about Vue 2 + Bootstrap 5? It seems Vue 2 will stay for quite a while.

I believe the current plan is still for BootstrapVue 3 to support both Vue 2, and Vue 3. And I believe that would carry into BootstrapVue 4, which will convert from Bootstrap 4 to Bootstrap 5.

Hiws avatar Feb 15 '21 16:02 Hiws

Why not rename BootstrapVue v4 to BootstrapVue v5, so it has the same number as Bootstrap 5?I think it will be less confusing for new users.

raress96 avatar Mar 06 '21 20:03 raress96

Now that Bootstrap 5 has dropped jquery, is there any advantage to using BootstrapVue with BS v5?

For example: https://dev.to/codeply/using-bootstrap-5-with-vue-js-5fnp

What would the advantage be of using a wrapper like BootstrapVue vs a direct integration like the above example?

binaryfire avatar Mar 10 '21 02:03 binaryfire

@binaryfire I have actually been building my own Bootstrap v5 library because we're in a situation where we can't wait for BootstrapVue. There have only been a few tricky bits with getting it to work with Vue, overall it's been a lot easier than I expected though.

Saying that, I wouldn't recommend it if you're in a situation where you can wait. You're still having to do all of the boilerplate work that library will handle for you. Creating a component, creating all the various prop/slot options you need, and getting the Bootstrap javascript to work. It's still time consuming. Some components are very simple, whereas some need a lot of time.

If you need it now and only need a small amount of components, you should go that route. But if you can wait, you should because you're still avoiding all the integration and boilerplate work.

MechJosh0 avatar Mar 10 '21 06:03 MechJosh0

@MechJosh0 Thanks, that's very helpful. Looks like I'll be waiting :)

We're starting work on a new app soon so I want to use Bootstrap 5 and Vue 3 from the start. Hope a new version isn't too far!

binaryfire avatar Mar 10 '21 07:03 binaryfire

Bootstrapvue contains several components that are not available with Bootstrap5 such as form tags, overlay, skeleton, etc. that’s why I use BootstrapVue.

dosstx avatar Mar 10 '21 14:03 dosstx

When we can expect Vuejs 3 support coming?

ayoubkhan558-zz avatar Mar 20 '21 13:03 ayoubkhan558-zz

When we can expect Vuejs 3 support coming?

Wrong issue.

Hiws avatar Mar 20 '21 13:03 Hiws

I'm waiting for bootstrap 5 and vue 3 support since long ago. there is no option for me but to go for pure bootstrap.

hussainfrotan avatar Apr 04 '21 05:04 hussainfrotan

The final beta of Bootstrap 5 was released last week: https://blog.getbootstrap.com/2021/03/23/bootstrap-5-beta-3/. The RC won't be far off now.

I love BootstrapVue but the reality is no-one starting a new Bootstrap project today is going to build it with Bootstrap 4. Or Vuejs 2.

I understand the need to maintain the current codebase for existing projects, but BootstrapVue won't be able to compete with other frameworks if it leaves it much longer. For example Vuetify have already released an alpha of their Vuejs 3 rewrite: https://vuetifyjs.com/en/introduction/roadmap/

I hope we see some progress on a new version soon. If there's a link where I can donate towards a BS5 / Vue3 rewrite please let me know. I'd be happy to contribute!

binaryfire avatar Apr 04 '21 06:04 binaryfire

The major version number should be synced to Bootstrap version imo. I find it quite confusing knowing which is for which when combined with Vue version numbers and changes.

So BootstrapVue version that supports Bootstrap 5.x should also be v5.x and scrap the idea of calling it v4 altogether.

sdwru avatar Apr 06 '21 17:04 sdwru

The major version number should be synced to Bootstrap version imo. I find it quite confusing knowing which is for which when combined with Vue version numbers and changes.

Why sync with Bootstrap version? Why not Vue version? Or why not based on how versions should be done.

The package version should not be dictated by the dependency versions it uses. Major versions should be by breaking changes as per the majority understanding of how versions are used.

... Breaking changes are indicated by increasing the major number (high risk)... https://en.m.wikipedia.org/wiki/Software_versioning

MechJosh0 avatar Apr 06 '21 17:04 MechJosh0

The major version number should be synced to Bootstrap version imo. I find it quite confusing knowing which is for which when combined with Vue version numbers and changes.

Why sync with Bootstrap version? Why not Vue version? Or why not based on how versions should be done.

The package version should not be dictated by the dependency versions it uses. Major versions should be by breaking changes as per the majority understanding of how versions are used.

... Breaking changes are indicated by increasing the major number (high risk)... https://en.m.wikipedia.org/wiki/Software_versioning

Because it is called BootstrapVue. Also v5 is a bigger number than v4 so that means it's better. Like a volume knob that goes to 11.

sdwru avatar Apr 06 '21 17:04 sdwru

I love BootstrapVue but the reality is no-one starting a new Bootstrap project today is going to build it with Bootstrap 4. Or Vuejs 2.

That is not the reality at all. There can be considerable disadvantages to starting major development projects based on new versions of development libraries, especially ones that introduce completely new concepts, as Vue 3 has done. For one, stability has yet to be assured, and two, there is a learning curve involved requiring the whole team to get up to speed, not to mention the relative lack of design and troubleshooting support out there on sites like Stack Overflow when compared to the previous versions. Then, as you even mention in your comment, it takes time for dependent libraries your project may need to catch up.

The cutting edge is not always a comfortable place to be, and the wise project leads try to avoid them, unless there is a compelling reason not to.

stringfold avatar Apr 15 '21 10:04 stringfold

@stringfold All good points. I was being a bit hyperbolic when I said "no-one" :) But for us, beginning a large-scale SaaS project using previous versions of frameworks just isn't an option. Firstly because we're building with the next 5 years in mind. And secondly because Vue 3 and Bootstrap 5 bring significant improvements to the table that we want to use.

BS5's CSS custom properties and the utilities API are game changers for us. Same goes for Vue 3's composition API.

The 2 most upvoted issues in the repo are Vue 3 and Bootstrap 5 support so a lot of people feel the same way.

binaryfire avatar Apr 15 '21 13:04 binaryfire

I am of the opinion that if you are going to hitch your wagon to a parent project, like bootstrap, you should make an effort to closely track that project including major updates. Probably easier said than done considering bootstrap is developed by a muli-billion dollar corporation.

sdwru avatar Apr 15 '21 14:04 sdwru

Bootstrap 5 has been released yesterday: https://blog.getbootstrap.com/2021/05/05/bootstrap-5/

mario-donnarumma avatar May 06 '21 07:05 mario-donnarumma