| # Go becomes more stable |
| 16 Mar 2011 |
| Tags: release |
| Summary: Moving from weekly unstable Go releases toward less frequent, more stable ones. |
| OldURL: /go-becomes-more-stable |
| |
| Andrew Gerrand |
| |
| ## |
| |
| The Go project is moving fast. As we learn more about Go we are compelled |
| to change our tools, |
| libraries, and occasionally even the language itself. |
| We permit backward-incompatible changes so that we can learn from, |
| rather than immortalize, our mistakes. |
| We believe flexibility at this stage of Go’s development is essential |
| to the project’s development and, |
| ultimately, its longevity. |
| |
| Since Go's launch we have been making releases approximately once a week. |
| Accompanying each release are [notes describing what changed](https://golang.org/doc/devel/release.html), |
| with any backwards-incompatible changes signposted. |
| Questions I hear often are "Is Go stable? How can I be sure that I won’t |
| have to update my Go code every week?" The answer to those questions are |
| now "Yes," and "You won't." |
| |
| With this week’s release we’re introducing a new release tagging scheme. |
| We intend to continue with our weekly releases, |
| but have renamed the existing tags from `release` to `weekly`. |
| The `release` tag will now be applied to one hand-picked stable release each month or two. |
| This more relaxed release schedule should make life easier for the average Go programmer. |
| |
| Users will still need to update their code periodically (this is the cost |
| of using a young language) but with less frequency. |
| An additional benefit is that by tagging stable releases less often we can |
| put more effort into automating updates. |
| To this end we have introduced gofix, a tool that will help you update your code. |
| |
| The revision formerly tagged `release.2011-03-07.1` (now `weekly.2011-03-07.1`) |
| has been nominated our first stable release, |
| and has been given the tag `release.r56`. |
| As we tag each stable release we will post an announcement to the new [golang-announce](http://groups.google.com/group/golang-announce) mailing list. |
| (Why not [subscribe now](http://groups.google.com/group/golang-announce/subscribe)?) |
| |
| What’s the upshot of all this? You can continue to keep your Go installation |
| updated using `hg update release`, |
| but now you should only need to update when we tag a new stable release. |
| If you wish to stay at the leading edge, you should switch to the weekly |
| tag with `hg update weekly`. |
| |
| Happy coding! |