The Athens Proxy releases v0.3.0 a.k.a Medusa!

Chris Mills
Project Athens
Published in
3 min readMar 5, 2019

Today we’re excited to announce the release of v0.3.0, what we’re dubbing ‘Medusa’. 🚀

Medusa Gopher

We’ve had over 100 pull requests since our last release so we want to give a gigantic thank you to all the users, contributors and maintainers who’ve helped make Athens a positive and great open source project to be apart of!

The amount of hard work and love put into this release has brought us way closer to a stable and mature Go Proxy.

For more detailed info about the changes in v0.3.0 including any breaking changes, see our release notes or read some quick highlights below! 👍

Notable Changes

  • You can now safely run Athens in the background for your day to day workflow. In a container on your local development machine or on a VM in the cloud. Not just in CI/CD.
  • You can run go get (and friends) outside of a module context thanks to go 1.12, and Athens can support this seamlessly.
  • You can run dynamic versions such as go get github.com/pkg/errors@master where @master gets translated into the latest version in that module’s repository. Athens will then store that pseudo version. In other words, you can do @masterand Athens will figure it out, and things will “just work”. Oh, and you can also do the same thing for dynamic versions like latest and for full commit SHAs.
  • For most storage drivers, we added a/catalog endpoint that can list the modules in your storage. This endpoint is a handy way to build a simple dashboard on top of Athens.
  • You can now opt-in to an experimental “distributed single flight” mechanism that lets you run multiple Athens instances at once, and be sure that storage persistence is done without conflict in etcd.
  • You now don’t need a config.toml file to run Athens. We have the defaults equally hard-coded so that new-comers don’t have to worry about setting up configuration at all.
  • You can now filter modules by versions and not just module paths. We’ll add more docs on this shortly after the release. And look for more power in the filtering syntax soon.

What’s next for Athens?

Go Modules is still technically in its experimental phase until it’s finally switched to on from auto by default in 1.13! Until then, we expect a few things to change and break in ways you don’t expect.

We’re pretty happy with the stability of Athens but as always, please proceed with some caution while modules is still experimental.

We’ve got a bunch of cool things to implement for v0.4.0 which you can track and help out on with the v0.4.0 milestone.

We welcome your feedback

Please join us on the #athens channel in The Gopher Slack, or simply open an issue at github.com/gomods/athens. We welcome anyone, regardless of knowledge which you can read more about in our contributing and getting involved sections

Here’s to the future, Athenians and Gophers.

❤️

--

--