Browse files

doc/go1.12: initial add of release notes for Go 1.12

Change-Id: I9cb3c80ea397d964fe745b74d595df3fd8982a47
Reviewed-by: Brad Fitzpatrick <>
  • Loading branch information...
andybons committed Oct 31, 2018
1 parent fa466a4 commit 02aa1aeeb1baf9bcfb8b9eeff9c92e93426ae512
Showing with 282 additions and 0 deletions.
  1. +282 −0 doc/go1.12.html
@@ -0,0 +1,282 @@
"Title": "Go 1.12 Release Notes",
"Path": "/doc/go1.12",
"Template": true
NOTE: In this document and others in this directory, the convention is to
set fixed-width phrases with non-fixed-width spaces, as in
<code>hello</code> <code>world</code>.
Do not send CLs removing the interior tags from such phrases.
ul li { margin: 0.5em 0; }
<h2 id="introduction">DRAFT RELEASE NOTES - Introduction to Go 1.12</h2>
Go 1.12 is not yet released. These are work-in-progress
release notes. Go 1.12 is expected to be released in February 2019.
The latest Go release, version 1.12, arrives six months after <a href="go1.11">Go 1.11</a>.
Most of its changes are in TODO.
As always, the release maintains the Go 1 <a href="/doc/go1compat.html">promise of compatibility</a>.
We expect almost all Go programs to continue to compile and run as before.
<h2 id="language">Changes to the language</h2>
There are no changes to the language specification.
<h2 id="tools">Tools</h2>
<h3 id="gocache">Build cache requirement</h3>
The build cache is now required as a step toward eliminating
<code>$GOPATH/pkg</code>. Setting the environment variable
<code>GOCACHE=off</code> to disable the
<a href="/cmd/go/#hdr-Build_and_test_caching">build cache</a>
has no effect in Go 1.12.
<h3 id="godoc">Godoc</h3>
In Go 1.12, <code>godoc</code> no longer has a command-line interface and
is only a web server. Users should use <code>go</code> <code>doc</code>
for command-line help output instead.
<h2 id="library">Core library</h2>
All of the changes to the standard library are minor.
<h3 id="minor_library_changes">Minor changes to the library</h3>
As always, there are various minor changes and updates to the library,
made with the Go 1 <a href="/doc/go1compat">promise of compatibility</a>
in mind.
<!-- CL 142717: cmd/compile: remove obsolete "safe" mode -->
<!-- CL 144340: cmd/compile: add -lang flag to specify language version -->
<!-- CL 141977: cmd/doc: add -all flag to print all documentation for package -->
<!-- CL 126656: cmd/go: add $GOFLAGS environment variable -->
<!-- CL 115677: cmd/vet: check embedded field tags too -->
<dl id="build"><dt><a href="/pkg/build/">build</a></dt>
<p><!-- CL 61511 -->
TODO: <a href=""></a>: support frame-pointer for arm64
</dl><!-- build -->
<dl id="bytes, strings"><dt><a href="/pkg/bytes, strings/">bytes, strings</a></dt>
<p><!-- CL 137855 -->
TODO: <a href=""></a>: add ReplaceAll
<p><!-- CL 145098 -->
TODO: <a href=""></a>: fix Reader.UnreadRune returning without error on a zero Reader
</dl><!-- bytes, strings -->
<dl id="crypto/tls, net/http"><dt><a href="/pkg/crypto/tls, net/http/">crypto/tls, net/http</a></dt>
<p><!-- CL 143177 -->
TODO: <a href=""></a>: reject HTTP requests to HTTPS server
</dl><!-- crypto/tls, net/http -->
<dl id="expvar"><dt><a href="/pkg/expvar/">expvar</a></dt>
<p><!-- CL 139537 -->
TODO: <a href=""></a>: add Map.Delete
</dl><!-- expvar -->
<dl id="fmt"><dt><a href="/pkg/fmt/">fmt</a></dt>
<p><!-- CL 142737 -->
TODO: <a href=""></a>: print maps in key-sorted order
</dl><!-- fmt -->
<dl id="go/build, cmd/go"><dt><a href="/pkg/go/build, cmd/go/">go/build, cmd/go</a></dt>
<p><!-- CL 146023 -->
TODO: <a href=""></a>: add &#34;hurd&#34; as a GOOS value
</dl><!-- go/build, cmd/go -->
<dl id="go/doc"><dt><a href="/pkg/go/doc/">go/doc</a></dt>
<p><!-- CL 140958 -->
TODO: <a href=""></a>: add new mode bit PreserveAST to control clearing of data in AST
</dl><!-- go/doc -->
<dl id="godoc, cmd/godoc"><dt><a href="/pkg/godoc, cmd/godoc/">godoc, cmd/godoc</a></dt>
<p><!-- CL 141397 -->
TODO: <a href=""></a>: remove CLI support
</dl><!-- godoc, cmd/godoc -->
<dl id="image"><dt><a href="/pkg/image/">image</a></dt>
<p><!-- CL 118755 -->
TODO: <a href=""></a>: make RegisterFormat safe for concurrent use
</dl><!-- image -->
<dl id="image/png"><dt><a href="/pkg/image/png/">image/png</a></dt>
<p><!-- CL 134235 -->
TODO: <a href=""></a>: pack image data for small bitdepth paletted images
</dl><!-- image/png -->
<dl id="internal/poll"><dt><a href="/pkg/internal/poll/">internal/poll</a></dt>
<p><!-- CL 130676 -->
TODO: <a href=""></a>: use F_FULLFSYNC fcntl for FD.Fsync on OS X
</dl><!-- internal/poll -->
<dl id="io"><dt><a href="/pkg/io/">io</a></dt>
<p><!-- CL 139457 -->
TODO: <a href=""></a>: export StringWriter
</dl><!-- io -->
<dl id="math/bits"><dt><a href="/pkg/math/bits/">math/bits</a></dt>
<p><!-- CL 123157 -->
TODO: <a href=""></a>: add extended precision Add, Sub, Mul, Div
</dl><!-- math/bits -->
<dl id="net"><dt><a href="/pkg/net/">net</a></dt>
<p><!-- CL 113997 -->
TODO: <a href=""></a>: use splice(2) on Linux when reading from UnixConn, rework splice tests
</dl><!-- net -->
<dl id="net/http"><dt><a href="/pkg/net/http/">net/http</a></dt>
<p><!-- CL 130115 -->
TODO: <a href=""></a>: add Client.CloseIdleConnections
<p><!-- CL 145398 -->
TODO: <a href=""></a>: in Transport, don&#39;t error on non-chunked response with Trailer header
</dl><!-- net/http -->
<dl id="os"><dt><a href="/pkg/os/">os</a></dt>
<p><!-- CL 125443 -->
TODO: <a href=""></a>: add ExitCode method to ProcessState
<p><!-- CL 135075 -->
TODO: <a href=""></a>: add ModeCharDevice to ModeType
<p><!-- CL 139418 -->
TODO: <a href=""></a>: add UserHomeDir
</dl><!-- os -->
<dl id="reflect"><dt><a href="/pkg/reflect/">reflect</a></dt>
<p><!-- CL 33572 -->
TODO: <a href=""></a>: add Value.MapRange method and MapIter type
</dl><!-- reflect -->
<dl id="runtime"><dt><a href="/pkg/runtime/">runtime</a></dt>
<p><!-- CL 135395 -->
TODO: <a href=""></a>: use MADV_FREE on Linux if available
</dl><!-- runtime -->
<dl id="strings"><dt><a href="/pkg/strings/">strings</a></dt>
<p><!-- CL 122835 -->
TODO: <a href=""></a>: add Builder.Cap
</dl><!-- strings -->
<dl id="syscall"><dt><a href="/pkg/syscall/">syscall</a></dt>
<p><!-- CL 125456 -->
TODO: <a href=""></a>: implement Unix Socket for Windows
<p><!-- CL 138595 -->
TODO: <a href=""></a>: FreeBSD 12 ino64 support
</dl><!-- syscall -->
<dl id="syscall/js"><dt><a href="/pkg/syscall/js/">syscall/js</a></dt>
<p><!-- CL 141644 -->
TODO: <a href=""></a>: add Wrapper interface to support external Value wrapper types
<p><!-- CL 143137 -->
TODO: <a href=""></a>: make zero js.Value represent &#34;undefined&#34;
<p><!-- CL 144384 -->
TODO: <a href=""></a>: add the Value.Truthy method
</dl><!-- syscall/js -->
<dl id="testing"><dt><a href="/pkg/testing/">testing</a></dt>
<p><!-- CL 139258 -->
TODO: <a href=""></a>: implement -benchtime=100x
</dl><!-- testing -->

0 comments on commit 02aa1ae

Please sign in to comment.