Inside open source releases at Bitwarden
- Blog
- Inside open source releases at Bitwarden
Bitwarden product updates can be broken into four simple processes:
For new features and functions that impact multiple Bitwarden applications, the best practice is to wait to announce them until general availability, also known as a public release. This is when updates or features are made widely available. This can be timed with the approval of the various app stores that host Bitwarden, and the features may be turned off with a “feature flag” until they’re ready for everyone. An announcement and informative blog post are most often paired with these releases.
From the community forums to the subreddit, the Bitwarden community is a thriving, energetic, and genuine part of the Bitwarden DNA, and Bitwarden treats the feedback received accordingly. The Bitwarden development process adheres to standard protocols, ensuring compatibility and legal compliance within its software projects. Once an idea for an improvement or feature is prioritized and scoped for development, it becomes a task for the engineering team.
The code for Bitwarden resides within one of the GitHub repositories linked to the Bitwarden Server and Client Application code. The code for the SDK and the client is maintained in separate repositories.
Once the code has landed in a repository, it is visible to anyone. You will see many updates to this code over a release cycle, usually about 14 days for the server and web vault and 28 days for the browser extension, desktop, and mobile app. Bitwarden maintains GPL compatibility in its development process.
Code will be added, updated, tested, changed, and reviewed in its individual branch before being merged into the main codebase, also called the master branch. Once merged into the master branch, the code is now queued to be released but is not yet generally available.
When all the coding is done — a phase known as dev complete or feature complete — it’s time for final and regression testing.
You may see issues created in the GitHub repository for the item being tested and additional code commits to fix detected issues.
After thoroughly testing the software, a release is prepared, and the latest features are released to the community!
Regarding Bitwarden Server and Bitwarden Web App releases, Bitwarden first deploys them to the cloud instance. The development team monitors the systems closely to ensure smooth operations and a successful release. If anything is amiss, Bitwarden can quickly make updates with a centrally managed and monitored deployment.
After the Bitwarden cloud updates go live, client applications are usually published within 24 hours. Depending on the particular platform and publication queues, they can take between 1 and 5 days to become available.
Users may see features available on the Server or Web Vault during this time that are not yet compatible with their apps. Sometimes, a released feature will be turned off until the clients properly propagate it throughout the stores. Don’t worry; they will be available soon!
Releases usually settle over a couple of business days. Once the engineering team confirms the final release health, Bitwarden deploys the updates so self-hosted users can start their updates.
How will you know when a release or feature is generally available? Even while open source software offers advantages in terms of security and transparency, and you can see the new features in the code on GitHub, the new features may not yet be visible in your applications.
First, it takes time for the app stores to process the updates made to the Bitwarden applications, and then the features may be turned off at the Bitwarden level using “feature flags” until it’s ready to roll out. Even when ready, the feature may be turned on at a metered rate so that only a small percentage of users will see the new features to help ensure stability across the Bitwarden user base and their many varied devices before turning them on for everyone.
This simplified description of the development and launch process was intended as a quick crash course for those who may be new to open source and development cycles in general. This does not encompass all workflows, processes, checks and balances, or peer and security reviews during a Bitwarden product release.
The best way to stay current is to follow the Bitwarden Blog. The blog will share all the important information about a new feature and any associated documentation once it reaches general availability. To get information in a more real-time fashion, see up-to-date details about Bitwarden releases in a variety of ways below:
Monthly newsletter
Release notes
Subscribe to Release events on GitHub by watching the following repositories. Tip: Use custom watching rules to get notified of specific events. When these programs communicate, it is important to consider licensing and project structure implications.
Status updates
Community announcements
The Bitwarden client offers wide-ranging support across various platforms, ensuring compatibility and ease of use for all users. To secure your personal and business data, start with a Bitwarden free trial today!