# Go 1.1
  * [Scalable Scheduler](https://docs.google.com/document/d/1TTj4T2JO42uD5ID9e89oa0sLKhJYD0Y_kqxDv3I3XMw)
  * [net/http/cookiejar](https://groups.google.com/d/msg/golang-dev/ygDB3nbir00/rouknDcuyakJ)
  * [Function Calls](https://docs.google.com/document/d/1bMwCey-gmqZVTpRax-ESeVuZGmjwbocYs1iHplK-cjo/pub)

# Go 1.2

  * [xml.Marshaler and Unmarshaler](http://golang.org/s/go12xml)
  * [encoding.TextMarshaler and Unmarshaler](http://golang.org/s/go12encoding)
  * [Runtime Symbol Table Format](http://golang.org/s/go12symtab)
  * [Field Selectors and Nil Checks](http://golang.org/s/go12nil)
  * [```x[i:j:k]``` Slice Syntax](http://golang.org/s/go12slice)
  * [Preemptive Scheduler](https://docs.google.com/document/d/1ETuA2IOmnaQ4j81AtTGT40Y4_Jr6_IDASEKg0t0dBR8/edit?usp=sharing)

# Go 1.3

  * [Contiguous Stacks](https://docs.google.com/document/d/1wAaf1rYoM4S4gtnPh0zOlGzWtrZFQ5suE8qr2sD8uWQ/pub)
  * [Go 1.3 Linker Overhaul](https://golang.org/s/go13linker)
  * [Go 1.3 Native Client Support](https://docs.google.com/document/d/1oA4rs0pfk5NzUyA0YX6QsUEErNIMXawoscw9t0NHafo/pub)

# Go 1.4

  * [Go channels on steroids](http://golang.org/s/go13chan)
  * [Go 1.4 “Internal” Packages](http://golang.org/s/go14internal)
  * [Go 1.4 src/pkg → src](http://golang.org/s/go14nopkg)
  * [Go 1.4 Custom Import Path Checking](http://golang.org/s/go14customimport)
  * [Go generate: A Proposal](http://golang.org/s/go1.4-generate)
  * [The syscall package](https://docs.google.com/a/golang.org/document/d/1QXzI9I1pOfZPujQzxhyRy6EeHYTQitKKjHfpq0zpxZs)
  * [Go 1.4 Subrepo Renaming](http://golang.org/s/go14subrepo)
  * [Go 1.4 Native Client Support for ARM](http://golang.org/s/go14naclarm)
  * [dev.cc branch plan](http://golang.org/s/dev.cc)

# Go 1.5

  * [Go 1.5 Bootstrap Plan](https://golang.org/s/go15bootstrap)
  * [Go Compiler Overhaul](http://golang.org/s/go13compiler)
  * [Go Execution Tracer](http://goo.gl/eXjfeS)

# Future Proposals

  * [New SSA Backend for the Go Compiler](https://docs.google.com/document/d/1szwabPJJc4J-igUZU4ZKprOrNRNJug2JPD8OYi3i1K0/edit?usp=sharing_eid)
  * [Go 1.4+ Garbage Collection (GC) Plan and Roadmap](http://golang.org/s/go14gc)
  * [Better GC and Memory Allocator for Go](https://docs.google.com/document/d/1HCPu3WKyCX3ZRYxmIMKTk0Ik1dePxKW1p02k3uhcft4/view) 
    * [Groups Discussion](https://groups.google.com/d/topic/golang-dev/pwUh0BVFpY0/discussion)
  * [Precise GC Stack Roots](https://docs.google.com/document/d/13v_u3UrN2pgUtPnH4y-qfmlXwEEryikFu0SQiwk35SA/pub)
  * [Go 1.3 cmd/go and os/fsnotify](http://golang.org/s/go13fsnotify)
  * [Go 1.5 os/fsnotify API](http://goo.gl/MrYxyA)
  * [Simple Multi-Dimensional Slices (Tables)](https://docs.google.com/document/d/1eHm7KqfKP9_s4vR1zToxq-FBazdUQ9ZYi-YhcEtdfR0/edit)
  * [Go execution modes](https://docs.google.com/a/golang.org/document/d/1nr-TQHw_er6GOQRsF6T43GGhFDelrAP0NqSS_00RgZQ/edit)
  * [Building and distributing Go packages as shared libraries](https://docs.google.com/a/canonical.com/document/d/1PxhXNhsdqwBjteW7poqv4Vf3PhtTmYuQKkOk_JNWeh0/edit#heading=h.9hyi51rp3owq)
  * [NUMA-aware scheduler for Go](https://docs.google.com/document/d/1d3iI2QWURgDIsSR6G2275vMeQ_X7w-qxM2Vp7iGwwuM/pub)
  * [Go 1.5+ "External" Packages](https://docs.google.com/document/d/1CJnU6ZKvsp21B0lQwbJlKFt8Zz4EWscaCRy_EwK8ja8)

# Other Tools
  * [Go Oracle](https://docs.google.com/document/d/1WmMHBUjQiuy15JfEnT8YBROQmEv-7K6bV-Y_K53oi5Y)
  * [Binding Go and Java](http://golang.org/s/gobind)
  * [Go Builder Plan](http://golang.org/s/builderplan)
  * [gomobile — a tool for building apps](https://docs.google.com/document/d/1cePOQ35PNEb_QqxnPAmBv0cEnAm7AQSGuz9wVeJ-lBs/edit)

# Rejected Proposals
  * [Read-only Slices](https://docs.google.com/a/golang.org/document/d/1UKu_do3FRvfeN5Bb1RxLohV-zBOJWTzX0E8ZU1bkqX0/edit#heading=h.2wzvdd6vdi83), [Evaluation of read-only slices](https://docs.google.com/document/d/1-NzIYu0qnnsshMBpMPmuO21qd8unlimHgKjRD9qwp2A/edit) ([rejected](https://groups.google.com/d/msg/golang-dev/Y7j4B2r_eDw/Rkq-OtEsEBAJ))
  * [Go 1.4: unsafe.Pointer arithmetic](https://docs.google.com/a/dempsky.org/document/d/1yyCMzE4YPfsXvnZNjhszaYNqavxHhvbY-OWPqdzZK30/pub)