GitHub link: https://github.com/syndbg/goenv

With the recent release of 2.0.0beta1, I’ve decided it’s time to write something about goenv in the past ~2–3years and the future.

You can start using goenv by heading to https://github.com/syndbg/goenv/blob/master/INSTALL.md

Let’s dive in.

What’s goenv?

goenv is a project I started on April 17th, 2016 (https://github.com/syndbg/goenv/commit/32aca7b59f65063f3464afcbe907e1177c514ff6).

The project was cloned from the highly successful https://github.com/yyuu/pyenv which itself is based on the also highly successful https://github.com/rbenv/rbenv .

goenv core goal:

Simple but secure Golang version manager for development and CI environments.

goenv other goals:

Be stable

Be secure as much as possible in the domain it operates

Be production-ready, ideally for CI environments

Don’t try to do more than you have to for the

goenv in action:

goenv in statistics:

GitHub contributions stats

GitHub traffic stats

Google trends stats, example with pyenv and rbenv, which are “parents” of the project

goenv 2.0.0beta1, what it means for the project:

Since goenv is popular according to my standards and has recently hit the 400 stars mark, I’ve decided to spend the free days between the Christmas — New year holidays on something productive that will be useful to more than me.

This is the biggest wave of changes since the start initial push to get this project working.

The most important changes (besides code) are outlined to:

Re-enable Travis CI

Make travis tests pass and increase the test suite coverage

Re-work and fix few obvious bugs in the goenv code and test suite

code and test suite Re-work and fix any bugs in the goenv/go-build code and test suite

code and test suite Re-build the CHANGELOG.md from scratch back-filling every missing changelog

from scratch back-filling every missing changelog Re-work the whole README.md to be easier to navigate.

Re-work COMMANDS.md to actually show all commands.

To check the major part of changes see: https://github.com/syndbg/goenv/pull/62

goenv 2.0.0 — end of beta(s):

One of the leftover from the goenv2.0.0beta1 pull request was

Add better use-cases how and why goenv can be used.

This remains the highest priority since it’s a known pain-point to newcomers to these kinds of projects and this one included.

Other goals that I have are

Satisfy the GitHub community profile criteria

Contributing, issue and PR templates are to be added.

Gathering user feedback in the next 1month

I have no specific date for the release of 2.0.0, but in my mind, the next 2 weeks are good enough to get it out of beta.

To the OSS community and enthusiasts:

This is one of the many projects that have started with a single person’s use-case and continued because of many other users.

Without everyone’s personal time and dedication, this and many other projects wouldn’t have existed and be where they are.

Thank you, everyone