Are you using Bazel in your projects? Or considering adopting it? When choosing a build tool, understanding the version support policy is crucial. For large-scale projects especially, knowing how long you’ll receive stable support is essential for planning.

This guide provides a comprehensive look at the version support policy for Bazel, Google’s powerful build system, including detailed EOS/EOL (End of Support/End of Life) schedules for each version.

 

Bazel

 

 

1. What is Bazel? Understanding Google’s Build System

Bazel is the open-source version of Google’s internal Blaze build system—a fast, scalable, multi-language build tool. Since its public release in 2015, it has been adopted by numerous large-scale projects and has become a standard in the build tool ecosystem.

Key Features of Bazel

Speed and Scalability
Bazel supports incremental builds, rebuilding only what has changed. It maintains fast build speeds even with massive codebases. Through remote caching and distributed builds, teams can share build results, significantly improving productivity.

Multi-Language Support
Bazel manages multiple languages and platforms—Java, C++, Python, Go, Android, iOS, and more—within a single build system. It’s particularly powerful in monorepo environments.

Reproducible Builds
Bazel uses sandboxing to isolate build environments, ensuring identical outputs for identical inputs. This is critical in CI/CD pipelines.

 

 

2. Bazel’s Release Model – Understanding LTS and Rolling Releases

Starting with Bazel 4.0, Google provides two release tracks. Understanding this structure helps you choose the right version for your project.

LTS (Long Term Support) Releases

Optimal for Production Environments Requiring Stability

LTS releases are major versions (4.0, 5.0, 6.0, etc.) released approximately every 12 months. Each LTS version receives 3 years of support. Most enterprise environments should use LTS releases.

LTS versions receive bug fixes and backward-compatible features through minor releases (e.g., 6.1, 6.2). New minor versions are released approximately every 2 months, with patch releases provided as needed for security issues or critical bugs.

Rolling Releases

For Developers Who Want the Latest Features

Rolling releases are created from Bazel’s main branch approximately every 2 weeks. Synchronized with Google’s internal Blaze releases, they provide the earliest access to new changes.

However, rolling releases may include breaking changes, so they’re better suited for testing and development environments rather than production.

 

 

3. Understanding Bazel’s Support Lifecycle

Bazel LTS versions go through three stages during their lifecycle.

Active Stage

When a new LTS version is released, it immediately enters the Active stage. During this stage, important features and bug fixes are backported through minor releases. New minor versions are released approximately every 2 months, providing the most active support.

Maintenance Stage

When the next LTS version is released, the previous version transitions to Maintenance. During this stage, only critical bugs—security issues and OS compatibility problems—are backported. No new features are added, but stable usage continues.

Deprecated Stage

After 2 years in Maintenance, versions transition to Deprecated. No support is provided at this stage. Even if security vulnerabilities are discovered, no patches are released. You must upgrade to a newer version before reaching this stage.

 

 

4. Complete Bazel LTS Version Support Schedule (As of October 2025)

Detailed EOS/EOL schedules for each LTS version are organized in tables below. This information is compiled from Bazel’s official documentation, GitHub Releases, and endoflife.date.

Complete LTS Version Overview

LTS Version Release Date Latest Version Support Stage End of Support Notes
Bazel 9 Late 2025 (planned) Rolling In Development TBD Expected late 2025, WORKSPACE fully removed
Bazel 8 December 9, 2024 8.4.2 Active December 2027 Current latest LTS, Bzlmod enabled by default
Bazel 7 December 11, 2023 7.6.2 Maintenance December 2026 Bzlmod, BwoB, Skymeld enabled by default
Bazel 6 December 19, 2022 6.5.0 Maintenance December 2025 Bzlmod GA release
Bazel 5 January 19, 2022 5.4.1 Deprecated January 2025 Support ended, upgrade required
Bazel 4 January 19, 2021 4.2.4 Deprecated January 2024 First LTS release, support fully ended
Bazel 3.x and earlier ~ 2020 Unsupported Before 2021 Pre-LTS versions, all support ended

All Minor/Patch Releases by LTS Version

Bazel 8.x (Active LTS) – Supported Until December 2027

Version Release Date Type Key Changes
8.0.0 2024-12-09 Major First LTS release, Bzlmod enabled by default
8.1.0 Feb 2025 (est.) Minor Bug fixes and feature backports
8.2.0 Apr 2025 (est.) Minor Bug fixes and feature backports
8.2.1 2025 Patch Critical bug fixes
8.3.0 2025-06-23 Minor Added repo_contents_cache
8.3.1 2025-06-30 Patch Runfiles-related fixes
8.4.0 2025-09-04 Minor System trust store support
8.4.1 2025-09-11 Patch Repository cache fixes
8.4.2 Oct 2025 Patch macOS Tahoe compatibility fix (current latest)

Bazel 7.x (Maintenance LTS) – Supported Until December 2026

Version Release Date Type Key Changes
7.0.0 2023-12-11 Major Bzlmod, BwoB, Skymeld enabled by default
7.1.0 2024 Minor Bug fixes and feature backports
7.2.0 2024 Minor Bug fixes and feature backports
7.3.0 2024 Minor Bug fixes and feature backports
7.4.0 2024 Minor Bug fixes and feature backports
7.5.0 2024 Minor Bug fixes and feature backports
7.6.0 2025 Minor Bug fixes and feature backports
7.6.1 2025 Patch Critical bug fixes
7.6.2 Oct 2025 Patch macOS Tahoe compatibility fix (current latest)

Bazel 6.x (Maintenance LTS) – Supported Until December 2025

Version Release Date Type Key Changes
6.0.0 2022-12-19 Major Bzlmod GA transition
6.1.0 2023 Minor Bug fixes and feature backports
6.1.1 2023 Patch Critical bug fixes
6.1.2 2023 Patch Critical bug fixes
6.2.0 2023 Minor Initial lockfile support
6.2.1 2023 Patch Critical bug fixes
6.3.0 2023 Minor Bug fixes and feature backports
6.3.1 2023 Patch Critical bug fixes
6.3.2 2023 Patch Critical bug fixes
6.4.0 2023 Minor Bug fixes and feature backports
6.5.0 Jan 2024 Minor Bug fixes and feature backports (current latest)

Bazel 5.x (Deprecated) – Support Ended

Version Release Date Type Key Changes
5.0.0 2022-01-19 Major Experimental Bzlmod introduction
5.1.0 2022 Minor Bug fixes and feature backports
5.1.1 2022 Patch Critical bug fixes
5.2.0 2022 Minor Bug fixes and feature backports
5.3.0 2022 Minor Bug fixes and feature backports
5.3.1 2022 Patch Critical bug fixes
5.3.2 2022 Patch Critical bug fixes
5.4.0 2022 Minor Bug fixes and feature backports
5.4.1 2023 Patch Final release (support ended)

Bazel 4.x (Deprecated) – Support Ended

Version Release Date Type Key Changes
4.0.0 2021-01-19 Major First LTS release
4.1.0 May 2021 Minor Java workers multithreading improvements
4.2.0 Aug 2021 Minor required_providers exposed to Starlark
4.2.1 2021 Patch Critical bug fixes
4.2.2 2021 Patch Critical bug fixes
4.2.4 2022 Patch Final release (support ended)

Pre-LTS Versions (Reference)

Versions before Bazel 4.0 had no LTS policy and all support has ended.

Version Range Release Period Status
Bazel 3.x 2020 Unsupported
Bazel 2.x 2019-2020 Unsupported
Bazel 1.x 2019 Unsupported
Bazel 0.x 2015-2019 Unsupported

Key Features by Version

Bazel 8.x (Current Active)

  • Bzlmod set as default external dependency system (WORKSPACE disabled)
  • Android, C++, Java, Protobuf, Shell rules modularized to Starlark
  • Announced Bazel 5.0 support end (January 2025)
  • System trust store support by default (from 8.4.0)

Bazel 7.x (Maintenance)

  • Bzlmod enabled by default
  • Build without the Bytes (BwoB) enabled by default, up to 40% build speed improvement
  • Project Skymeld enabled, up to 15% build time reduction
  • Android and C++ platform-based toolchain resolution enabled

Bazel 6.x (Maintenance)

  • Bzlmod transitioned to GA (Generally Available)
  • Bazel Central Registry (BCR) launched for structured module management
  • Initial lockfile support (from 6.2.0)

Bazel 5.x and 4.x (Deprecated)

  • No longer supported
  • No security updates
  • Immediate upgrade to latest LTS version required

 

 

5. Version Upgrade Strategy – When and How to Migrate

Bazel version upgrades should be planned carefully. Here’s a specific guide based on your current version.

Upgrade Roadmap by Current Version

Active Stage (Bazel 8.x)

Current Version Recommended Action Urgency Details
8.0.x ~ 8.3.x Upgrade to 8.4.2 Low Minor releases maintain backward compatibility
8.4.0 ~ 8.4.1 Upgrade to 8.4.2 Low macOS Tahoe compatibility improvements, stable patches
8.4.2 Maintain current Latest version, supported until December 2027

Maintenance Stage (Bazel 6.x, 7.x)

Current Version Recommended Action Urgency Deadline
6.x (6.5.0 or earlier) Upgrade to 7.6.2 or 8.4.2 Very High Support ends December 2025
7.0.x ~ 7.5.x Upgrade to 7.6.2 Medium Supported until December 2026
7.6.2 Plan 8.x migration Low Supported until December 2026, plenty of time

Deprecated Stage (Bazel 4.x, 5.x)

Current Version Recommended Action Urgency Risk Level
5.x Immediately upgrade to 7.6.2 or 8.4.2 Critical Support ended, high security risk
4.x Immediately upgrade to 7.6.2 or 8.4.2 Critical Support fully ended, severe security risk

Pre-LTS Versions (Bazel 3.x and earlier)

All pre-LTS versions require immediate upgrade to the latest LTS version. Support has completely ended and there’s a risk of serious security vulnerabilities.

Step-by-Step Migration Guide

Step 1: Check Current Version

bazel --version

Step 2: Determine Migration Path

Starting Version Recommended Path Estimated Time
6.x → 8.x 6.x → 7.x → 8.x (gradual) 2-4 weeks
7.x → 8.x 7.x → 8.x (direct) 1-2 weeks
5.x or earlier → 8.x 5.x → 6.x → 7.x → 8.x (gradual) 4-8 weeks

Step 3: Validate in Test Environment

  • Test thoroughly in non-production environments first
  • Validate builds with new version in CI/CD pipelines
  • Use --incompatible_* flags for compatibility issues

Step 4: Production Deployment

  • Gradual rollout (canary deployment)
  • Prepare rollback plan
  • Enhanced monitoring

Version-Specific Migration Checklist

Bazel 6 → 7 Upgrade

  • [ ] Verify Bzlmod is enabled by default but WORKSPACE still works
  • [ ] Assess impact of BwoB (Build without the Bytes) default enablement
  • [ ] Measure up to 40% build performance improvement
  • [ ] Review Android/C++ platform toolchain changes

Bazel 7 → 8 Upgrade

  • [ ] Address WORKSPACE disabling (--enable_workspace flag if needed)
  • [ ] Use --incompatible_autoload_externally flag for transition period
  • [ ] Verify Android, C++, Java rules Starlark modularization
  • [ ] Check MODULE.bazel migration completion

Preparing for Bazel 8 → 9 Upgrade (Expected Late 2025)

  • [ ] Prepare for complete WORKSPACE removal
  • [ ] Complete MODULE.bazel migration by end of 2025
  • [ ] Establish Bzlmod-only dependency management system
  • [ ] Study migration guide: Official Guide

 

 

6. Version Selection Guide by Project Type

Choose the appropriate version based on your project situation and requirements.

Version Recommendation Matrix by Scenario

Project Type Recommended Version Reason Considerations
New Projects Bazel 8.4.2 Latest features, supported until 2027 Use MODULE.bazel recommended
Large Production (Stability Priority) Bazel 7.6.2 Proven stability, supported until 2026 Plan 8.x migration before 2026
Legacy Systems (WORKSPACE Dependent) Bazel 7.6.2 WORKSPACE parallel support 8.x disables WORKSPACE
Experimental/Dev Environments Rolling Release Preview latest features early Not recommended for production
CI/CD Pipelines Bazel 8.4.2 Long-term support, excellent caching Bazelisk recommended

New Projects

Use the latest Active LTS version, Bazel 8.4.2.

Advantages

  • 3 years of stable support until December 2027
  • Latest features and performance improvements (BwoB, Skymeld, etc.)
  • MODULE.bazel default support for easy dependency management
  • Minimizes future upgrade burden

Getting Started

# Install Bazelisk (recommended)
npm install -g @bazel/bazelisk

# Create .bazelversion file in project root
echo "8.4.2" > .bazelversion

# Manage dependencies with MODULE.bazel
# Use instead of WORKSPACE

Large Production Environments

Currently Using Bazel 7.x

  • Maintain but plan 8.x migration before end of 2026
  • Update to 7.6.2 for latest patches
  • No rush to change as stability is proven

Currently Using Bazel 6.x

  • Support ends December 2025—approaching quickly
  • Must upgrade this year to 7.6.2 or 8.4.2
  • Gradual approach recommended: 6.x → 7.x → 8.x

Currently Using Bazel 5.x or Earlier

  • Immediate upgrade required (security risk)
  • Move to at least 7.6.2 or higher
  • Consider forming dedicated migration project team

Complex Build Systems / High WORKSPACE Dependency

Bazel 7.6.2 Recommended

For projects still heavily using WORKSPACE, Bazel 7.x is appropriate.

Reasons

  • Parallel WORKSPACE and Bzlmod support
  • Allows gradual migration
  • Supported until December 2026 provides ample transition time

Migration Roadmap

  1. 2025: Stabilize on Bazel 7.6.2
  2. H2 2025: Gradual transition to MODULE.bazel
  3. H1 2026: Upgrade to Bazel 8.x
  4. H2 2026: Complete WORKSPACE removal, prepare for Bazel 9

Latest Feature Testing / R&D

Rolling Release or Bazel 9 RC (from H2 2025)

Use Rolling Release to preview features of the next LTS version.

Important Notes

  • Absolutely no production environment use
  • Breaking changes possible
  • Use only in development/test environments
  • New version released every 2 weeks

Usage

# In .bazelversion file
rolling

# Or latest RC (from H2 2025)
last_rc

Special Scenario Selection Guide

Android App Development

  • Bazel 8.4.2 recommended
  • Android rules fully transitioned to Starlark
  • Compatible with latest rules_android

iOS App Development

  • Bazel 8.4.2 or 7.6.2
  • Improved Apple Silicon support
  • Verify Xcode compatibility

Monorepo Management

  • Bazel 8.4.2 strongly recommended
  • Bzlmod optimizes large-scale dependency management
  • Significant build time reduction with remote caching and BwoB

Open Source Projects

  • Bazel 7.6.2 recommended (broader compatibility)
  • Use 8.4.2 if community is transitioning to 8.x
  • Specify minimum supported version

Version Selection Decision Flowchart

Is this a new project?
  → Yes: Bazel 8.4.2

  → No: What's your current version?
    
    → 6.x or earlier: Upgrade immediately (7.6.2 or 8.4.2)
    
    → 7.x: 
      - Heavy WORKSPACE usage?
        → Yes: Maintain 7.6.2 + gradual migration
        → No: Consider upgrading to 8.4.2
    
    → 8.x: 
      - Below 8.4.2?
        → Yes: Update to 8.4.2
        → No: Maintain current

 

 

7. Bazel Version Management Tool – Using Bazelisk

If you need to use different Bazel versions across multiple projects, use Bazelisk. Bazelisk is a version management tool that automatically downloads and runs the appropriate Bazel version for each project.

Create a .bazelversion file in your project root and specify the desired version:

8.4.2

Bazelisk will automatically use that version. To test a Rolling Release:

last_rc

This automatically uses the latest Release Candidate version.

 

 

8. Useful References and Links

Official Documentation

Version Management

Migration Guides

Community

 

 

Conclusion (Summary)  :

Bazel’s version support policy features a clear 3-year LTS structure, making it suitable for stable production use. By understanding each version’s end-of-support date and upgrading systematically, you can ensure both security and stability.

Key Summary

Immediate Action Required

  • Bazel 5.x or earlier: Upgrade immediately (security risk)
  • Bazel 6.x: Support ends December 2025, migration required this year

Stable Operation

  • Bazel 7.6.2: Supported until December 2026, plan 8.x migration
  • Bazel 8.4.2: Latest version, supported until December 2027

New Projects

  • Bazel 8.4.2 strongly recommended
  • Start with MODULE.bazel
  • Access latest features and long support period

2025-2027 Bazel Roadmap

Period Major Events Action Items
January 2025 Bazel 5 support ends 5.x users upgrade immediately
H2 2025 Bazel 9.0 release expected Complete MODULE.bazel migration
December 2025 Bazel 6 support ends 6.x users complete upgrade
December 2026 Bazel 7 support ends 7.x users move to 8.x
December 2027 Bazel 8 support ends (expected) Stable long-term usage possible

Version Management Best Practices

1. Use Bazelisk Automatically manage different Bazel versions across projects with Bazelisk.

2. Manage .bazelversion Files Include .bazelversion in Git to ensure the entire team uses the same version.

3. Regular Version Reviews Review current version support status and upgrade needs quarterly.

4. Test Environment First Always validate new versions thoroughly in test environments before production.

5. CI/CD Pipeline Integration Add version check scripts to your build system to prevent using unsupported versions.

Need Additional Help?

Experiencing difficulties with Bazel version upgrades or migration? Leverage official documentation and the community for support.

For complex migrations:

  1. Ask real-time questions on Bazel Slack
  2. Share experiences on bazel-discuss
  3. Report bugs on GitHub Issues

Keep your build environment secure and efficient. Maximize productivity by leveraging Bazel’s powerful performance and stable LTS policy!

 

 

Leave a Reply