question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Project status & roadmap

See original GitHub issue

TL;DR (last update: Oct 25, 2022)

✅ v.2.23.0 with initial support of Vue.js 3 released 🎉

Next steps:

  • Publish initial rewrite infrastructure (includes CI, automated comparison of render output with v2.23.0)
  • Rewrite each components one by one and reach feature parity with v2.23.0
  • Explore Bootstrap v5 compatibility

Longer version

Bootstrap-Vue is heading towards Vue.js 3. Our main goals remain the same:

  • we do not want to introduce as few breaking changes as possible (ideally 0). We respect our existing users and understand that Vue2 -> Vue3 migration is already quite painful so we do not want to add extra one
  • we want to migrate to TypeScript, Vite and SFC for Vue.js 3 to simplify contributions to this project
  • migration to Bootstrap v5 is definitely on the priority list but right after previous step

I will keep you posted on updates

Original description from December 2021 # TL; DR
  • New maintainers are here
  • Pull requests will be reviewed within several days
  • There will be a new release of bootstrap-vue coming with fixes included
  • Primary goal of the team is to rewrite bootstrap-vue to support Vue 3 and Bootstrap v5. We will do this in a separate repository. We will announce the detailed roadmap for a rewrite as soon as we have it

Long version

Hello there! It’s been a tough year for all of us, and bootstrap-vue is not an exception.

The real power of opensource is that it is always about community. And the very first words of my gratitude will be to every person who contributed here - by opening an issue, making a pull request, posting a comment, or just starring the repository. My second gratitude comes to @Hiws, who helped people so long in this repository.

bootstrap-vue is not dead, and after a long period of silence, it has new people in the org added - it’s me and @cdmoro (invitation is pending, but I personally hope he will join us!). While our primary interest is making bootstrap-vue modern & fancy - to add support Vue 3 and Bootstrap v5, it does not mean this repo is abandoned.

Starting from tomorrow, I will go through the pull requests and review them. Afterward @pi0 is going to do a release of bootstrap-vue package with all the changes. I will also try to do my best in cleaning issues (but obviously with lower priority)

Now about the rewrite. We’ve set up a separate repository for that. It will be private just for a few days to set up the initial structure, flesh out project goals/non-goals, and our coding style. After that, it will be open to everyone - everyone can contribute! 🎉

Right now I have my own vision of the goals for rewrite, but since now I’m speaking “officially” I would like to postpone announcing them. Stay tuned and thank you again!


Updated roadmap

💀 “end-of-life” goal for current bootstrap-vue code

There definitely will be two more minor releases:

  • one with all available and acceptable pull requests merged. I’m working on this personally and I hope this will be ready before Jan 7th
  • one with @vue/compat compatibility, but only for { MODE: 2 }. This will allow people start migrating their code to Vue3 while rewrite project is in progress.

There might be additional releases if we will discover any important regressions in current code

Rewrite

⭐ Goals:

  • provide release for Vue3 using bootstrap v4 compatible with current bootstrap-vue API (including props, events, slots, etc.) as much as possible.
  • provide clear migration path for features, impossible to migrate (for example $root)
  • provide compatibility build for rewrite for Vue2. Compatibility build will be using @vue/composition-api and will allow us to deprecate current codebase entirely and promote new code as single source of truth
  • migrate to bootstrap v5 as soon as rewrite to Vue3 will be complete (all existing components ported)
  • always keep a11y in mind, providing sane defaults but also including as much ARIA extension endpoints as possible. This one, I believe needs detailed explanation. Providing good a11y is always trade-offs making "good a11y almost impossible for generic components library like a11y. Providing “extension” points is pretty straightforward - each component, which potentially might need aria attributes will have it’s dedicated computed for that (for example toggleButtonAria, hideButtonAria etc. We will promote this as an official way of “tuning” bootstrap-vue components extending them (well, for setup it just means calling setup and consuming return values and redefining such computeds. These computeds will be added where we think it is appropriate but generally any user could easily request “a11y” extension point for any component if he/she needs that. I feel this like a good balance between making good components possible and diving forever in a11y/ARIA discussions

🔧 Implementation details

For new repository we will be using:

  • single-file components to leverage powerful optimzation engine behind Vue compiler and to make it easier to contribute
  • TypeScript
  • Composition API and <script setup>.

📓 Basically flow of reimplementing component will be:

  • copy component tests from old repository. We will possibly temporary allow use js for tests to focus on real code 😃. These tests by utilizing vue-test-utils-compat will be a reference for initial implementation
  • implement component for vue 3. Verify it via tests and via examples extracted from documentation from old repository
  • make it work with Vue 2
  • make shiny docs work with Vue3 (hello Nuxt3)
  • refactor tests to use vue-test-utils-next api. This will require reverse compatibility layer (running v2 tests on vue-test-utils v1) but this is quite easy
  • Eventually merge new repository intro this one as separate “root” to keep one repository as single source of truth and not confusing people 😃

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:372
  • Comments:81 (24 by maintainers)

github_iconTop GitHub Comments

204reactions
xanfcommented, Mar 1, 2022

Sorry, no deadlines atm - we have Russia invasion in our country (Ukraine) and I’m writing this post from a shelter in Kharkiv, which is under rocket attacka for a few days

Please, keep an eye on updates and pray for Ukraine 🇺🇦

113reactions
xanfcommented, Jul 25, 2022

Once again update: I was still greatly distracted by war in my country. However in the next month I’m taking a time off in my main work and moving to another city (still in Ukraine, sigh), so I really have intention to release compat branch and release very initial version of something Vue3 related next month.

Thanks everyone for your patience ☮️

Read more comments on GitHub >

github_iconTop Results From Across the Web

What is a Project Roadmap?
Project roadmaps provide a strategic overview of the major elements of a project. It should include objectives, milestones, deliverables, resources, and planned ...
Read more >
What is a Project Roadmap?
Use the roadmap to communicate objectives and milestones with the project team, make prioritization decisions, and track progress against your goals.
Read more >
What Is a Roadmap in Project Management?
A project roadmap is a strategic plan that includes a high-level overview of a project's goals and deliverables. We cover stakeholder expectations, ...
Read more >
How to create an efficient project roadmap in 2022
A project roadmap is a one-page graphical overview that presents high level goals and deliverables on a timeline. It is an incredibly useful...
Read more >
How to Create a Project Roadmap (Example Included)
A project roadmap should be created during the project planning phase, but they're used throughout projects as a tracking tool everyone can ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found