---
title: "vgo Approved as Official Go Dependency Approach"
publication: "Go Weekly"
issue: 212
published_at: "2018-05-24"
canonical_url: "https://golangweekly.com/issues/212"
---

The latest Golang development news       

#212 — May 24, 2018 

[Read on the Web](https://golangweekly.com/issues/212)   

Golang Weekly 

'vgo' Dependency Management Proposal Accepted  

[Here's the Go Proposal Review Committee's Statement](https://github.com/golang/go/issues/24301#issuecomment-390766926) — In [issue 208](https://golangweekly.com/issues/208), we jumped the gun by saying vgo had been officially accepted but now it really has. It's fair to say a number of issues remain to be worked out and library authors and other Go developers will need to change some practices around using and releasing libraries as the year goes on.     

Further reading:  

- [Russ Cox's original vgo proposal documents](https://research.swtch.com/vgo)
- [Huge amounts of discussion about the vgo announcement on Reddit](https://www.reddit.com/r/golang/comments/8l3y4k/the_vgo_prposal_is_accepted/)
- [An analysis of vgo](https://sdboyer.io/vgo/intro/)
- [GoLand IDE adds support for vgo](https://blog.jetbrains.com/go/2018/05/18/vgo-integration-support/)
- [Hugo switches from dep to vgo](https://github.com/gohugoio/hugo/pull/4754) - _"This was surprisingly painless."_ 

We'll be sure to keep you up to date with tutorials, guides, and news as the consequences unfold.   [![\](https://copm.s3.amazonaws.com/a0d347cd.png)](https://start.sentry.io/for/go?utm_source=advertisement&utm_medium=display&utm_content=gonewsletter&utm_campaign=sponsorship) 

[Fix Production Bugs in Seconds with Sentry](https://start.sentry.io/for/go?utm_source=advertisement&utm_medium=display&utm_content=gonewsletter&utm_campaign=sponsorship) — You’re relying on users to report bugs? Use Sentry to fix production issues in real time, right in your existing workflow. Cut time to resolution from 5 hours to 5 minutes. Sentry is 100% open source and loved by 500K developers. [Sign up for free](https://start.sentry.io/for/go?utm_source=advertisement&utm_medium=display&utm_content=gonewsletter&utm_campaign=sponsorship). 

Sentry sponsor   

[Updating the Go Code of Conduct](https://blog.golang.org/conduct-2018) — Now, harassment/inappropriate behavior _“in public spaces when an individual is representing the project or its community”_ can result in sanctions, we’re reminded to _“interpret the arguments of others in good faith”_, plus the CoC now has a Project Steward (Congratulations to Cassandra Salisbury!) 

Steve Francia   

[JSON APIs Are Just Web Applications](https://www.calhoun.io/apis-are-just-web-applications/) — An epic refactoring of an existing Go web application to separate domain and repository concerns to enable easily offering both HTML and JSON-based endpoints. 

Jon Calhoun   

[From 'godep' to 'vgo', A Commentated History](https://codeengineered.com/blog/2018/golang-godep-to-vgo/) — The story of how dep and vgo came to be along with a (slightly negative) reaction to vgo being officially accepted over dep. 

Matt Farina   

[Getting Started with GraphQL from Go](https://www.thepolyglotdeveloper.com/2018/05/getting-started-graphql-golang/) — Learn how to use Go to both query and mutate data using GraphQL. If you want to understand GraphQL itself, [this is a good language agnostic intro.](https://medium.com/@weblab_tech/graphql-everything-you-need-to-know-58756ff253d8) 

Nic Raboy   

[Building a Microservice in Go Following the CQRS Pattern](https://outcrawl.com/go-microservices-cqrs-docker/) — This thorough tutorial has it all: Go, Nats, ElasticSearch, PostgreSQL, Docker, and more. 

Tin Rabzelj  

💻 Jobs  

[Software Engineers at JumpCloud (Boulder, CO)](https://jumpcloud.com/careers) — JumpCloud is solving complex problems around authentication, security and cloud scaling. 

JumpCloud   

[Go Expert? Sign Up for Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-24217) — Top companies use Vettery to find the best tech talent. Take a few minutes to join our platform. 

Vettery  

📘 Tutorials  

[Packaging a Go Application for macOS](https://medium.com/@mattholt/packaging-a-go-application-for-macos-f7084b00f6b5) — You don’t even need Xcode. 

Matt Holt   

[The Web Is Broken; Let's Fix It](https://oreil.ly/2rQ2J3a) — The O'Reilly Podcast: Brendan Eich on disrupting advertising, decentralizing payments, and privacy by design. 

O’Reilly Media, Inc sponsorpodcast   

[How to Efficiently Compare Strings in Go](https://www.digitalocean.com/community/questions/how-to-efficiently-compare-strings-in-go) — Hint: It does not include `strings.ToLower()`… 

DigitalOcean   

[vgo: A Broken Dependency Tree Example](https://codeengineered.com/blog/2018/golang-vgo-broken-dep-tree/) — A quick example where vgo picks the wrong version of a dependency and breaks the build. Worth reading the comments on this one too. 

Matt Farina   

[How to Create a Search Microservice](https://ryanmccue.ca/how-to-create-a-search-microservice/) — The search engine of choice here is ElasticSearch. 

Ryan McCue   

[eBook: Efficient Project Management for Small Engineering Teams](https://resources.codeship.com/ebooks/small-engineering-teams-efficient-project-management-aw?utm_source=email-sponsorship&utm_medium=cpc-go-weekly-secondary&utm_campaign=small-engineering-teams) 

Codeship sponsor  

🔧 Tools & Code  

[Tidis: A Distributed NoSQL Database That Supports the Redis Protocol](https://github.com/yongman/tidis) — Uses tikv (a distributed, transactional key/value store) as a backend. 

Yongman   

[QFrame: An Immutable Data Frame Structure for Go](https://github.com/tobgu/qframe) — Data frames have a lot in common with tables. 

Tobias Gustafsson   

[httpstat: Colored Visualization of HTTP Request Stats](https://github.com/davecheney/httpstat) — See HTTP headers, the speed of DNS lookup, initial TCP connection, etc. 

Dave Cheney   

[Kubernetes Is Coming to DigitalOcean: Request Early Access](https://blog.digitalocean.com/introducing-digitalocean-kubernetes/?utm_source=paid_newsletter+golang+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=5-24-2018+golang+weekly+cooperpress) 

DigitalOcean sponsor   

[Bine: Go Library for Accessing and Embedding Tor Clients and Servers](https://github.com/cretz/bine) 

Chad Retz   

[saltpack: A Modern Crypto Messaging Format](https://github.com/keybase/saltpack) 

Keybase         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc) 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
