### What's happening?
To celebrate the release of Go 1.10 we're to organising a world wide release party during the month of February 2018 🎉 

#### So what is the release date?
Go 1.10 was released on February 16.

### Sounds awesome, how can you get involved?
- If you host a Go user group or meetup, schedule a meetup during February, and celebrate with Gophers around the world.
- If you're a member of a Go user group or meetup, pester your organiser and let them know you'd like to participate.

After the event post a photo, make a video, write a blog post, scribble on your Facebook wall, or tweet something pithy. Let's see how big we can make the celebration.

Spread the word using hashtag [#GoReleaseParty](https://twitter.com/hashtag/goreleaseparty)

Don't forget to add your meetup's details :point_down: right here.

#### Who's involved?
Here is a list of the groups who are participating.
- Madrid, Spain: Feb 8 7:30 pm at [source{d}](https://sourced.tech). [View the event](https://www.meetup.com/go-mad/events/247296417/)
- Copenhagen, Denmark: Feb 15 7:00 pm at Maersk. [View the meetup](https://www.meetup.com/Go-Cph/events/242615767/)
- Minsk, Belarus: Feb 15 7:00 pm at SPACE. [View the event](https://www.facebook.com/events/202545833823265/)
- London, UK: Feb 15 6:30 pm at Shazam. [View the meetup](https://www.meetup.com/Go-London-User-Group/events/247343552/)
- Paris, France: Feb 15 7:15 pm at Mobiskill. [View the meetup](https://www.meetup.com/Golang-Paris/events/247526552)
- Orlando, FL, United States: Feb 19 7:00 PM at Familab. [View the meetup](https://www.meetup.com/OrlanGo/)
- Shizuoka, Japan: Feb 20 6:30 pm at Ageya Take. [View the event](https://shizuoka-go.connpass.com/event/79570/)
- Jakarta, Indonesia: Feb 20 7:00pm at Hacktiv8. [View the event](https://www.meetup.com/GoJakarta/events/247559760/)
- Tokyo, Japan: Feb 20 7:00 pm at Google Tokyo. [View the event](https://gocon.connpass.com/event/78128/)
- Okayama, Japan: Feb 20 7:00 pm at Kurashiki Coffee Okayama Aoe. [View the event](https://connpass.com/event/79528/)
- Reston, VA, USA: Feb 21 6:45 pm at Comcast. [View the meetup](https://www.meetup.com/Golang-Reston/events/246828702/)
- San Francisco, CA: Feb 21 6:00 pm at Cloudflare [View the event](https://www.meetup.com/golangsf/events/245472050/)
- Phoenix, AZ, United States: Feb 22 6:30 PM at Galvanize. [View the meetup](https://www.meetup.com/Golang-Phoenix/events/247751393/)
- Warsaw, Poland: Feb 22 7:00 pm at Kawiarnia Crux [View the meetup](https://www.meetup.com/pl-PL/Golang-Warsaw/events/247732050/)
- Santiago, Chile: Feb 22 7:00 pm at Mercado Libre Chile. [View the meetup](https://www.meetup.com/golang-chile/events/247511315/)
- Aachen, Germany: Feb 22 7:00pm at hosting.de. [View the meetup](https://www.meetup.com/Gophers-Aachen/events/247739398/)
- Waterloo, Canada: Feb 22 7:00pm at the Lion Brewery in the Heuther Hotel. [View the meetup](https://www.meetup.com/Golang-KW/events/247770215/)
- Lodz, Poland: Feb 22 6:00 pm at Co/Walk HUB [View the meetup](https://www.meetup.com/Golang-Lodz/events/247802682/)
- İzmir, Turkey: Feb 23 7:30 pm at Drunken Duck [View the event](https://www.facebook.com/events/144640862880347/)
- Milan, Italy: Feb 23 8:00 pm at Venini42 [View the event](https://www.meetup.com/it-IT/Golang-Milano/events/247741405/)
- Bengaluru, India: Feb 24 10:00 am at OpenEBS Office Space. [View the meetup](https://www.meetup.com/Golang-Bangalore/events/247344493/)
- Moscow, Russia: Feb 24 11:30 am at Badoo. [View the meetup](https://golang-moscow.timepad.ru/event/663880/)
- Yoshkar-Ola, Russia: Feb 24 2:00 pm at iSpring. [View the meetup](https://golang-yoshar-ola.timepad.ru/event/667643/)
- Zagreb, Croatia: Feb 26 6:00 pm at MaMa. [View the meetup](https://www.meetup.com/Golang-ZG/events/247644001/)
- Edmonton, Canada: Feb 26 6:30 pm at Startup Edmonton [View the meetup](https://www.meetup.com/startupedmonton/events/247825453/)
- Berlin, Germany: Feb 26 7:00 pm at n26. [View the meetup](https://www.meetup.com/golang-users-berlin/events/247289781/)
- Stockholm, Sweden: Feb 27 17:30 at Betalo. [View the meetup](https://www.meetup.com/Go-Stockholm/events/247955211/)
- Baltimore, MD: Feb 27 06:30pm at ZeroFOX. [View the meetup](https://www.meetup.com/BaltimoreGolang/events/247958575/)
- Joinville, Brazil: Feb 27 7:00 pm at ContaAzul. [View the meetup](https://www.meetup.com/Joinville-Go-Meetup/events/247548485/)
- Brisbane, Australia: Feb 28 6:00 pm at Jumbo Interactive. [View the meetup](https://www.meetup.com/Brisbane-Golang-Meetup/events/247337741/)
- Frankfurt, Germany: Feb 28 6:30 pm at SANID GmbH, [View the meetup](https://www.meetup.com/gophers-frm/events/247776234/)
- Chicago, IL: Feb 28 6:00pm at Enova. [View the meetup](https://www.meetup.com/Women-Who-Go-Chicago/events/247802512/) & [View the meetup](https://www.meetup.com/Chicago-Gophers/events/247805023/)
- Fort Lauderdale, FL: Mar 1 6:30 pm at Microsoft, [View the meetup](https://www.meetup.com/Go-Miami/events/247987413/)
- Zurich, Switzerland: Mar 1 7:00 pm at Job Cloud. [View the meetup](https://www.meetup.com/Zurich-Gophers/events/246188927/)
- Florianópolis, Brazil: Mar 17 3:00 pm at Involves. [View the meetup](https://www.meetup.com/pt-BR/Floripa-Gophers/events/kzmchpyxfbwb/)
- Portland, Oregon: April 24th 6:00 pm at New Relic. [View the meetup](https://www.meetup.com/PDX-Go/events/248938586/) 

_If your group is not listed here yet, edit the page and add yourself in a chronological order._
_Organisers, once you've added your group, consider tweeting out a link to the page to raise awareness._

### Stay in touch

Trying to co-ordinate dozens of meetup groups around the globe will be challenging. Here are some ways you can plan your event, and keep up to date. 

As always, if you get stuck, or need help, please [contact the organisers directly](https://github.com/golang/go/wiki/Go-1.10-release-party#no-seriously-whos-organising-this), we're here to help.
.
##### Slack Channel
We have a channel for the [release party](https://gophers.slack.com/messages/go-release-party/) on the [Gophers Slack](https://gophers.slack.com/messages/go-release-party/). If you need an invite to Slack, [you can request an automatic invite with this link](https://invite.slack.golangbridge.org/).

##### Mailing list
We have set up a [mailing list for meetup organisers](https://groups.google.com/forum/#!forum/go-meetup-organisers) to ask questions.

### What happens in a release party?
As with the previous [Go 1.6](https://github.com/golang/go/wiki/Go-1.6-release-party) and [Go 1.8](https://github.com/golang/go/wiki/Go-1.8-release-party) release parties, this is a great opportunity to spread the word about the improvements landing 1.10, and the plans for what is coming next!

#### Resources

You can use the slide deck that the Go London User Group in London will use. It's [available here](https://talks.godoc.org/github.com/dlsniper/talks/2018/go-1.10-release-party/presentation.slide#1) ([source](https://github.com/dlsniper/talks/tree/master/2018/go-1.10-release-party))

_Please send PR's with corrections/additions_

[Here's a link to the _draft_ Go 1.10 release notes](https://tip.golang.org/doc/go1.10).

[Here's a link](https://speakerdeck.com/campoy/the-state-of-go-1-dot-10) to the talk by Francesc Campoy: The State of Go (February 2018).


### What'll happen if Go 1.10 isn't out during February?
If all else fails... at least we'll have each other. 


### Who's organising this?
Well, if you run a Go meetup, you are. It can't be a worldwide release party without meetups around the globe.

#### No, seriously, who's organising this?
Here are the organisers so far:
- [Natalie Pistunovich](mailto://natalie.pistunovich@gmail.com) - [@NataliePis](https://twitter.com/nataliepis)
- [Dave Cheney](mailto://dave@cheney.net) - [@davecheney](https://twitter.com/davecheney)
- [João Henrique Machado Silva](mailto://joaoh82@gmail.com) - [@joaoh82](https://twitter.com/joaoh82)
- [Florin Pățan](mailto://florinpatan@gmail.com) - [@dlsniper](https://twitter.com/dlsniper)

_Want to help? Edit this page and add yourself_

If you have questions, please reach out to one of the organisers.