Skip to content
Andrew Z Allen edited this page Aug 27, 2023 · 3 revisions

This document describes the major rules_go and Gazelle features the Go team has planned and how those features are prioritized. If you have an idea for a feature which is not mentioned here or if you think something should be prioritized differently, please send a message to bazel-go-discuss, or open an issue.

Note that this document doesn't cover prioties for the overall Go team. Work on Go itself can (and frequently does) take priority over Bazel support for Go. As a result, it's difficult to provide time estimates or release dates.

Release process

rules_go follows semantic versioning. A patch release is tagged every few weeks with bug fixes and support for new versions of Go. A minor release is tagged approximately every quarter with new features and updated dependencies. No major release has been tagged yet.

The current minor release branch is maintained together with the previous branch. Earlier release branches are not maintained or supported.

You can subscribe to new releases on GitHub.

1.0.0

At some point a 1.0.0 release will be tagged. This will indicate the API is stable. We try to keep the 0.x.y releases as stable as possible to make upgrades simple, but some incompatible changes may be needed before a 1.0.0 release in order to shed technical debt, enabling long-term maintenance.

We hope not to make any incompatible changes after that. A 2.0.0 should not be needed.

rules_go changes

In no particularly order:

  • Improved protobuf support
  • Improved static analysis
  • Coverage support
  • Debugging

gazelle changes

Gazelle is mostly feature complete. Priorities are:

  • Fixing bugs
  • Simplifying user experience
  • Reducing technical debt and simplifying testing