GopherJS 1.7–1 is released

Dmitri Shuralyov
Jan 22, 2017 · 3 min read

Hello gophers,

Today, we are happy to make two announcements for GopherJS. First, GopherJS now officially supports Go 1.7, which is the current stable release of Go that came out recently. Second, GopherJS has its first named version attached to it, and we’re calling it GopherJS 1.7–1. This makes it possible to have a release history tracking major changes and additions between versions.

The support for Go 1.7 means that GopherJS 1.7–1 requires Go 1.7 and no longer works with Go 1.6. It’s highly recommended to be using the latest version of Go and GopherJS, but if you cannot update from Go 1.6 right away, you should continue to use GopherJS on the go1.6 branch.

GopherJS 1.7–1 continues to support nearly everything of the Go language specification, including goroutines. Please consult the package compatibility table to see which standard library packages are supported. Everything from the previous Go 1.6 version is still supported, as are many additions to Go 1.7, but there are some exceptions. For example, the new reflect.StructOf function is not yet supported, but issue #499 tracks its implementation status. If you run into any bugs or discrepancies with what the compatibility table says, please file an issue.

Installation or upgrade instructions remain the same, even though GopherJS has a version number now. To get the latest official stable release, please follow the instructions in the README. You can confirm that you have the right version if gopherjs version prints GopherJS 1.7-1.

Over the last few years, GopherJS has become increasingly complete and stable. Many advanced features of the Go language specification were implemented (such as goroutines, channels, and select statements). More and more of the viable standard library packages had all their tests pass and became officially supported. Many bugs were reported, investigated, and fixed. Today, it is used by many people for a broad range of projects.

However, many of those improvements to GopherJS were done quietly and internally, so only developers and people who follow the project very closely would become aware. Without a version number and release history, it’s harder for newcomers or people waiting for a stable release to have insight on the readiness state of GopherJS. With this version number and future release history, we hope to better communicate the maturity level of GopherJS and the fact that you can get started with it today.

In closing, we would like to thank everyone who contributed to this release of GopherJS. The Go team created and released Go 1.7. Richard Musiol created and implemented the core parts of GopherJS and Go 1.7 support. Many people have contributed code and bug fixes, reported/investigated/helped reproduce issues, created libraries and wrappers for various browser APIs. Everyone’s effort has helped get GopherJS to where it is today, giving us the opportunity to write front-end code in Go which will run in all modern browsers. See list of code contributors and list of closed issues. We welcome all help; if you’d like to get involved, see the community section. If you have a good experience with GopherJS, tell your fellow gophers about it!

If you’d like to get started with GopherJS, here are some next steps you can take:

Happy surfing with Go 1.7 and GopherJS 1.7–1!


A compiler from Go to JavaScript for running Go code in a…

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store