<!--{
	"Title": "Go 1.11 Release Notes",
	"Path":  "/doc/go1.11",
	"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.
-->

<style>
  ul li { margin: 0.5em 0; }
</style>

<h2 id="introduction">DRAFT RELEASE NOTES - Introduction to Go 1.11</h2>

<p>
  <strong>
    Go 1.11 is not yet released. These are work-in-progress
    release notes. Go 1.11 is expected to be released in August 2018.
  </strong>
</p>

<p>
  The latest Go release, version 1.11, arrives six months after <a href="go1.10">Go 1.10</a>.
  Most of its changes are in the implementation of the toolchain, runtime, and libraries.
  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.
</p>

<h2 id="language">Changes to the language</h2>

<p>
  There are no changes to the language specification.
</p>

<h2 id="ports">Ports</h2>

<p>
  As <a href="go1.10#ports">announced in the Go 1.10 release notes</a>, Go 1.11 now requires
  OpenBSD 6.2 or later, macOS 10.10 Yosemite or later, or Windows 7 or later;
  Support for previous versions of these operating systems has been removed.
</p>

<p>
  There are <a href="https://golang.org/issue/25206">known issues</a> with NetBSD on i386 hardware.
</p>

<p><!-- CL 107935 -->
  The race detector is now supported on <code>linux/ppc64le</code>
  and, to a lesser extent, on <code>netbsd/amd64</code>. The NetBSD race detector support
  has <a href="https://golang.org/issue/26403">known issues</a>.
</p>

<h3 id="wasm">WebAssembly</h3>
<p>
  Go 1.11 adds an experimental port to WebAssembly (<code>js/wasm</code>).
</p>
<p>
  Go programs currently compile to one WebAssembly module that
  includes the Go runtime for goroutine scheduling, garbage
  collection, maps, etc.
  As a result, the resulting size is at minimum around
  2 MB, or 500 KB compressed. Go programs can call into JavaScript
  using the new experimental
  <a href="/pkg/syscall/js/"><code>syscall/js</code></a> package.
  Binary size and interop with other languages has not yet been a
  priority but may be addressed in future releases.
</p>
<p>
  As a result of the addition of the new <code>GOOS</code> value
  "<code>js</code>" and <code>GOARCH</code> value "<code>wasm</code>",
  Go files named <code>*_js.go</code> or <code>*_wasm.go</code> will
  now be <a href="/pkg/go/build/#hdr-Build_Constraints">ignored by Go
  tools</a> except when those GOOS/GOARCH values are being used.
  If you have existing filenames matching those patterns, you will need to rename them.
</p>

<h2 id="tools">Tools</h2>

<h3 id="modules">Modules, package versioning, and dependency management</h3>
<p>
  <strong>
    NOTE: This is not present in go1.11beta1 but will be available in future
    betas and subsequent releases.
  </strong>
  Go 1.11 adds experimental support for a new concept called “modules,”
  an alternative to GOPATH with integrated support for versioning and
  package distribution.
  Using modules, developers are no longer confined to working inside GOPATH,
  version dependency information is explicit yet lightweight,
  and builds are more reliable and reproducible.
</p>

<p>
  Module support is considered experimental.
  Details are likely to change in response to feedback from Go 1.11 users,
  and we have more tools planned.
  Although the details of module support may change, projects that convert
  to modules using Go 1.11 will continue to work with Go 1.12 and later.
  If you encounter bugs using modules,
  please <a href="https://golang.org/issue/new">file issues</a>
  so we can fix them.
</p>

<p>
  TODO: Link to intro doc.
</p>

<h3 id="importpath">Import path restriction</h3>

<p>
  Because Go module support assigns special meaning to the
  <code>@</code> symbol in command line operations,
  the <code>go</code> command now disallows the use of
  import paths containing <code>@</code> symbols.
  Such import paths were never allowed by <code>go</code> <code>get</code>,
  so this restriction can only affect users building
  custom GOPATH trees by other means.
</p>

<h3 id="gopackages">Package loading</h2>

<p>
  TODO: Note about go/build versus golang.org/x/tools/go/packages.
</p>

<h3 id="gocache">Build cache requirement</h2>

<p>
  Go 1.11 will be the last release to support setting the environment
  variable <code>GOCACHE=off</code> to disable the
  <a href="/cmd/go/#hdr-Build_and_test_caching">build cache</a>,
  introduced in Go 1.10.
  Starting in Go 1.12, the build cache will be required,
  as a step toward eliminating <code>$GOPATH/pkg</code>.
  The module and package loading support described above
  already require that the build cache be enabled.
  If you have disabled the build cache to avoid problems you encountered,
  please <a href="https://golang.org/issue/new">file an issue</a> to let us know about them.
</p>

<h2 id="library">Core library</h2>

<p>
  All of the changes to the standard library are minor.
</p>

<h3 id="minor_library_changes">Minor changes to the library</h3>

<p>
  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.
</p>

<!-- CL 113315: https://golang.org/cl/113315: cmd/asm: enable AVX512 -->
<!-- CL 100459: https://golang.org/cl/100459: cmd/compile: reject type switch with guarded declaration and no cases -->
<!-- CL 100738: https://golang.org/cl/100738: cmd/compile: turn on DWARF locations lists for ssa vars -->
<!-- CL 106797: https://golang.org/cl/106797: cmd/compile: enable indexed export format by default -->
<!-- CL 108475: https://golang.org/cl/108475: cmd/compile: add softfloat support to mips64{,le} -->
<!-- CL 109918: https://golang.org/cl/109918: More functions are now eligible for inlining by default, including functions that call panic.: cmd/compile: refactor inlining parameters; inline panic -->
<!-- CL 97375: https://golang.org/cl/97375: cmd/compile, cmd/compile/internal/syntax: print relative column info -->
<!-- CL 115095: https://golang.org/cl/115095: yes (`go test pkg` now always builds pkg even if there are no test files): cmd/go: output coverage report even if there are no test files -->
<!-- CL 110395: https://golang.org/cl/110395: cmd/go, cmd/compile: use Windows response files to avoid arg length limits -->
<!-- CL 107475: https://golang.org/cl/107475: cmd/internal/obj/arm, runtime: delete old ARM softfloat code -->
<!-- CL 93664: https://golang.org/cl/93664: cmd/link: process is_stmt data into dwarf line tables -->
<!-- CL 118276: https://golang.org/cl/118276: yes here?: cmd/link: compress DWARF sections in ELF binaries -->
<!-- CL 112436: https://golang.org/cl/112436: cmd/pprof: add readline support similar to upstream -->
<dl id="all"><dt><a href="/pkg/all/">all</a></dt>
  <dd>
    <p><!-- CL 93875 -->
      TODO: <a href="https://golang.org/cl/93875">https://golang.org/cl/93875</a>: enable c-shared/c-archive support for freebsd/amd64
    </p>

    <p><!-- CL 94255 -->
      TODO: <a href="https://golang.org/cl/94255">https://golang.org/cl/94255</a>: drop support for Windows Vista or below (Windows XP)
    </p>

    <p><!-- CL 115038 -->
      TODO: <a href="https://golang.org/cl/115038">https://golang.org/cl/115038</a>: remove support for macOS 10.9 and earlier
    </p>

</dl><!-- all -->

<dl id="crypto"><dt><a href="/pkg/crypto/">crypto</a></dt>
  <dd>
    <p><!-- CL 64451 -->
      TODO: <a href="https://golang.org/cl/64451">https://golang.org/cl/64451</a>: randomly read an extra byte of randomness in some places.
    </p>

</dl><!-- crypto -->

<dl id="crypto/cipher"><dt><a href="/pkg/crypto/cipher/">crypto/cipher</a></dt>
  <dd>
    <p><!-- CL 48510, CL 116435 -->
      TODO: <a href="https://golang.org/cl/48510">https://golang.org/cl/48510</a>: add NewGCMWithTagSize for custom tag sizes.
    </p>

</dl><!-- crypto/cipher -->

<dl id="crypto/rsa"><dt><a href="/pkg/crypto/rsa/">crypto/rsa</a></dt>
  <dd>
    <p><!-- CL 103876 -->
      TODO: <a href="https://golang.org/cl/103876">https://golang.org/cl/103876</a>: add PublicKey.Size accessor
    </p>

</dl><!-- crypto/rsa -->

<dl id="debug/elf"><dt><a href="/pkg/debug/elf/">debug/elf</a></dt>
  <dd>
    <p><!-- CL 112115 -->
      TODO: <a href="https://golang.org/cl/112115">https://golang.org/cl/112115</a>: add machine and OSABI constants
    </p>

</dl><!-- debug/elf -->

<dl id="encoding/asn1"><dt><a href="/pkg/encoding/asn1/">encoding/asn1</a></dt>
  <dd>
    <p><!-- CL 110561 -->
      TODO: <a href="https://golang.org/cl/110561">https://golang.org/cl/110561</a>: allow Marshaling and Unmarshaling private tag class
    </p>

</dl><!-- encoding/asn1 -->

<dl id="encoding/base32"><dt><a href="/pkg/encoding/base32/">encoding/base32</a></dt>
  <dd>
    <p><!-- CL 112516 -->
      TODO: <a href="https://golang.org/cl/112516">https://golang.org/cl/112516</a>: handle surplus padding consistently
    </p>

</dl><!-- encoding/base32 -->

<dl id="encoding/csv"><dt><a href="/pkg/encoding/csv/">encoding/csv</a></dt>
  <dd>
    <p><!-- CL 99696 -->
      TODO: <a href="https://golang.org/cl/99696">https://golang.org/cl/99696</a>: disallow quote for use as Comma
    </p>

</dl><!-- encoding/csv -->

<dl id="go/build, runtime/internal/sys"><dt><a href="/pkg/go/build, runtime/internal/sys/">go/build, runtime/internal/sys</a></dt>
  <dd>
    <p><!-- CL 106256 -->
      TODO: <a href="https://golang.org/cl/106256">https://golang.org/cl/106256</a>: reserve RISC-V arch names
    </p>

</dl><!-- go/build, runtime/internal/sys -->

<dl id="go/scanner"><dt><a href="/pkg/go/scanner/">go/scanner</a></dt>
  <dd>
    <p><!-- CL 100235 -->
      TODO: <a href="https://golang.org/cl/100235">https://golang.org/cl/100235</a>: report errors for incorrect line directives
    </p>

</dl><!-- go/scanner -->

<dl id="html/template"><dt><a href="/pkg/html/template/">html/template</a></dt>
  <dd>
    <p><!-- CL 121815 -->
      TODO: <a href="https://golang.org/cl/121815">https://golang.org/cl/121815</a>: ignore untyped nil arguments to default escapers
    </p>

</dl><!-- html/template -->

<dl id="image/gif"><dt><a href="/pkg/image/gif/">image/gif</a></dt>
  <dd>
    <p><!-- CL 93076 -->
      TODO: <a href="https://golang.org/cl/93076">https://golang.org/cl/93076</a>: support non-looping animated gifs (LoopCount=-1)
    </p>

</dl><!-- image/gif -->

<dl id="io/ioutil"><dt><a href="/pkg/io/ioutil/">io/ioutil</a></dt>
  <dd>
    <p><!-- CL 105675 -->
      TODO: <a href="https://golang.org/cl/105675">https://golang.org/cl/105675</a>: change TempFile prefix to a pattern
    </p>

</dl><!-- io/ioutil -->

<dl id="math/big"><dt><a href="/pkg/math/big/">math/big</a></dt>
  <dd>
    <p><!-- CL 74851 -->
      TODO: <a href="https://golang.org/cl/74851">https://golang.org/cl/74851</a>: speed-up addMulVVW on amd64
    </p>

</dl><!-- math/big -->

<dl id="mime/multipart"><dt><a href="/pkg/mime/multipart/">mime/multipart</a></dt>
  <dd>
    <p><!-- CL 121055 -->
      TODO: <a href="https://golang.org/cl/121055">https://golang.org/cl/121055</a>: restore 1.9 handling of missing/empty form-data file name
    </p>

</dl><!-- mime/multipart -->

<dl id="mime/quotedprintable"><dt><a href="/pkg/mime/quotedprintable/">mime/quotedprintable</a></dt>
  <dd>
    <p><!-- CL 121095 -->
      To support invalid input found in the wild, the package now
      permits non-ASCII bytes but does not validate their encoding.
    </p>

</dl><!-- mime/quotedprintable -->

<dl id="net"><dt><a href="/pkg/net/">net</a></dt>
  <dd>
    <p><!-- CL 72810 -->
      The new <a href="/pkg/net/#ListenConfig"><code>ListenConfig</code></a> type and the new
      <a href="/pkg/net/#Dialer.Control"><code>Dialer.Control</code></a> field permit
      setting socket options before accepting and creating connections, respectively.
    </p>

    <p><!-- CL 76391 -->
      TODO: <a href="https://golang.org/cl/76391">https://golang.org/cl/76391</a>: implement (*syscall.RawConn).Read/Write on Windows
    </p>

    <p><!-- CL 107715 -->
      The <code>net</code> package now automatically uses the
      <a href="http://man7.org/linux/man-pages/man2/splice.2.html"><code>splice</code> system call</a>
      on Linux when calling copying data between TCP connections in
      <a href="/pkg/net/#TCPConn.ReadFrom"><code>TCPConn.ReadFrom</code></a>, as called by
      <a href="/pkg/io/#Copy"><code>io.Copy</code>. The result is faster, more efficient TCP proxying.
    </p>

    <p><!-- CL 108297 -->
      TODO: <a href="https://golang.org/cl/108297">https://golang.org/cl/108297</a>: calling File leaves the socket in nonblocking mode
    </p>

</dl><!-- net -->

<dl id="net/http"><dt><a href="/pkg/net/http/">net/http</a></dt>
  <dd>
    <p><!-- CL 71272 -->
      The <a href="/pkg/net/http/#Transport"><code>Transport</code></a> has a
      new <a href="/pkg/net/http/#Transport.MaxConnsPerHost"><code>MaxConnsPerHost</code></a>
      option that permits limiting the maximum number of connections
      per host.
    </p>

    <p><!-- CL 79919 -->
      The <a href="/pkg/net/http/#Cookie"><code>Cookie</code></a> type has a new
      The <a href="/pkg/net/http/#Cookie.SameSite"><code>SameSite</code></a> field
      (of new type also named
      <a href="/pkg/net/http/#SameSite"><code>SameSite</code></a>) to represent the new cookie attribute recently supported by most browsers.
      The <code>net/http</code>'s <code>Transport</code> does not use the <code>SameSite</code>
      attribute itself, but the package supports parsing and serializing the
      attribute for browsers to use.
    </p>

    <p><!-- CL 81778 -->
      It is no longer allowed to reuse a <a href="/pkg/net/http/#Server"><code>Server</code></a>
      after a call to
      <a href="/pkg/net/http/#Server.Shutdown"><code>Shutdown</code></a> or
      <a href="/pkg/net/http/#Server.Close"><code>Close</code></a>. It was never officially supported
      in the past and had often surprising behavior. Now, all future calls to the server's <code>Serve</code>
      methods will return errors after a shutdown or close.
    </p>

    <p><!-- CL 89275 -->
      The HTTP server will no longer automatically set the Content-Type if a
      <code>Handler</code> sets the "<code>X-Content-Type-Options</code>" header to "<code>nosniff</code>".
    </p>

    <p><!-- CL 93296 -->
      The constant <code>StatusMisdirectedRequest</code> is now defined for HTTP status code 421.
    </p>

    <p><!-- CL 123875 -->
      The HTTP server will no longer cancel contexts or send on
      <a href="/pkg/net/http/#CloseNotifier"><code>CloseNotifier</code></a>
      channels upon receiving pipelined HTTP/1.1 requests. Browsers do
      not use HTTP pipelining, but some clients (such as
      Debian's <code>apt</code>) may be configured to do so.
    </p>

    <p><!-- CL 115255 -->
      <a href="/pkg/net/http/#ProxyFromEnvironment"><code>ProxyFromEnvironment</code></a>, which is used by the
      <a href="/pkg/net/http/#DefaultTransport"><code>DefaultTransport</code></a>, now
      supports CIDR notation and ports in the <code>NO_PROXY</code> environment variable.
    </p>

</dl><!-- net/http -->

<dl id="net/http/httputil"><dt><a href="/pkg/net/http/httputil/">net/http/httputil</a></dt>
  <dd>
    <p><!-- CL 77410 -->
      The
      <a href="/pkg/net/http/httputil/#ReverseProxy"><code>ReverseProxy</code></a>
      has a new
      <a href="/pkg/net/http/httputil/#ReverseProxy.ErrorHandler"><code>ErrorHandler</code></a>
      option to permit changing how errors are handled.
    </p>

</dl><!-- net/http/httputil -->

<dl id="os"><dt><a href="/pkg/os/">os</a></dt>
  <dd>
    <p><!-- CL 78835 -->
      The new <a href="/pkg/os/#UserCacheDir"><code>UserCacheDir</code></a> function
      returns the default root directory to use for user-specific cached data.
    </p>

    <p><!-- CL 94856 -->
      The new <a href="/pkg/os/#ModeIrregular"><code>ModeIrregular</code></a>
      is a <a href="/pkg/os/#FileMode"><code>FileMode</code></a> bit to represent
      that a file is not a regular file, but nothing else is known about it, or that
      it's not a socket, device, named pipe, symlink, or other file type for which
      Go has a defined mode bit.
    </p>

    <p><!-- CL 99337 -->
      TODO: <a href="https://golang.org/cl/99337">https://golang.org/cl/99337</a>: enable symlink creation on Windows 10
    </p>

    <p><!-- CL 100077 -->
      TODO: <a href="https://golang.org/cl/100077">https://golang.org/cl/100077</a>: use poller when NewFile is called with a blocking descriptor.
    </p>

</dl><!-- os -->

<dl id="os/signal"><dt><a href="/pkg/os/signal/">os/signal</a></dt>
  <dd>
    <p><!-- CL 108376 -->
      TODO: <a href="https://golang.org/cl/108376">https://golang.org/cl/108376</a>: add func Ignored(sig Signal) bool
    </p>

</dl><!-- os/signal -->

<dl id="os/user"><dt><a href="/pkg/os/user/">os/user</a></dt>
  <dd>
    <p><!-- CL 92456 -->
      The <code>os/user</code> package can now be built in pure Go
      mode using the build tag "<code>osusergo</code>",
      independent of the use of the environment
      variable <code>CGO_ENABLED=0</code>. Previously the only way to use
      the package's pure Go implementation was to disable <code>cgo</code>
      support across the entire program.
    </p>

</dl><!-- os/user -->

<!-- CL 101715 was reverted -->

<dl id="runtime"><dt><a href="/pkg/runtime/">runtime</a></dt>
  <dd>
    <p><!-- CL 85887 -->
      TODO: <a href="https://golang.org/cl/85887">https://golang.org/cl/85887</a>: use sparse mappings for the heap
    </p>

    <p><!-- CL 94076 -->
      TODO: <a href="https://golang.org/cl/94076">https://golang.org/cl/94076</a>: use native CAS and memory barrier on ARMv7
    </p>

    <p><!-- CL 106156 -->
      TODO: <a href="https://golang.org/cl/106156">https://golang.org/cl/106156</a>: use fixed TLS offsets on darwin/amd64 and darwin/386
    </p>

    <p><!-- CL 109255 -->
      TODO: <a href="https://golang.org/cl/109255">https://golang.org/cl/109255</a>: enable memory sanitizer on arm64
    </p>

    <p><!-- CL 109699 -->
      TODO: <a href="https://golang.org/cl/109699">https://golang.org/cl/109699</a>: support for debugger function calls
    </p>

    <p><!-- CL 121657 -->
      TODO: <a href="https://golang.org/cl/121657">https://golang.org/cl/121657</a>: remap stack spans with MAP_STACK on OpenBSD
    </p>

    <p><!-- CL 70993 -->
      TODO: <a href="https://golang.org/cl/70993">https://golang.org/cl/70993</a>: support tracking goroutine ancestor tracebacks with GODEBUG=&#34;tracebackancestors=N&#34;
    </p>

</dl><!-- runtime -->

<dl id="runtime,cmd/ld"><dt><a href="/pkg/runtime,cmd/ld/">runtime,cmd/ld</a></dt>
  <dd>
    <p><!-- CL 108679 -->
      TODO: <a href="https://golang.org/cl/108679">https://golang.org/cl/108679</a>: on darwin, create theads using libc
    </p>

</dl><!-- runtime,cmd/ld -->

<dl id="runtime/pprof"><dt><a href="/pkg/runtime/pprof/">runtime/pprof</a></dt>
  <dd>
    <p><!-- CL 102696 -->
      TODO: <a href="https://golang.org/cl/102696">https://golang.org/cl/102696</a>: introduce &#34;allocs&#34; profile
    </p>

</dl><!-- runtime/pprof -->

<dl id="runtime/trace"><dt><a href="/pkg/runtime/trace/">runtime/trace</a></dt>
  <dd>
    <p><!-- CL 63274 -->
      TODO: <a href="https://golang.org/cl/63274">https://golang.org/cl/63274</a>: user annotation API
    </p>

</dl><!-- runtime/trace -->


</dl><!-- regexp -->

<dl id="runtime,cmd/ld"><dt><a href="/pkg/runtime,cmd/ld/">runtime,cmd/ld</a></dt>
  <dd>
    <p><!-- CL 108679 -->
      TODO: <a href="https://golang.org/cl/108679">https://golang.org/cl/108679</a>: on darwin, create theads using libc
    </p>

</dl><!-- runtime,cmd/ld -->

<dl id="runtime/trace"><dt><a href="/pkg/runtime/trace/">runtime/trace</a></dt>
  <dd>
    <p><!-- CL 63274 -->
      TODO: <a href="https://golang.org/cl/63274">https://golang.org/cl/63274</a>: user annotation API
    </p>

</dl><!-- runtime/trace -->

<dl id="runtime/traceback"><dt><a href="/pkg/runtime/traceback/">runtime/traceback</a></dt>
  <dd>
    <p><!-- CL 70993 -->
      TODO: <a href="https://golang.org/cl/70993">https://golang.org/cl/70993</a>: support tracking goroutine ancestor tracebacks with GODEBUG=&#34;tracebackancestors=N&#34;
    </p>

</dl><!-- runtime/traceback -->

<dl id="sync"><dt><a href="/pkg/sync/">sync</a></dt>
  <dd>
    <p><!-- CL 87095 -->
      TODO: <a href="https://golang.org/cl/87095">https://golang.org/cl/87095</a>: enable profiling of RWMutex
    </p>

</dl><!-- sync -->

<dl id="syscall"><dt><a href="/pkg/syscall/">syscall</a></dt>
  <dd>
    <p><!-- CL 106275 -->
      On Windows, several fields were changed from <code>uintptr</code> to a new
      <a href="/pkg/syscall/?GOOS=windows&GOARCH=amd64#Pointer"><code>Pointer</code></a>
      type to avoid problems with Go's garbage collector. The same change was made
      to the <a href="https://godoc.org/golang.org/x/sys/windows"><code>golang.org/x/sys/windows</code></a>
      package. For any code affected, users should first migrate away from the <code>syscall</code>
      package to the <code>golang.org/x/sys/windows</code> package, and then change
      to using the <code>Pointer</code>, while obeying the
      <a href="/pkg/unsafe/#Pointer"><code>unsafe.Pointer</code> conversion rules</a>.
    </p>

    <p><!-- CL 118658 -->
      TODO: <a href="https://golang.org/cl/118658">https://golang.org/cl/118658</a>: check Fchmodat flags parameter on Linux
    </p>

</dl><!-- syscall -->

<dl id="text/scanner"><dt><a href="/pkg/text/scanner/">text/scanner</a></dt>
  <dd>
    <p><!-- CL 112037 -->
      TODO: <a href="https://golang.org/cl/112037">https://golang.org/cl/112037</a>: return RawString token rather than String for raw string literals
    </p>

</dl><!-- text/scanner -->

<dl id="text/template"><dt><a href="/pkg/text/template/">text/template</a></dt>
  <dd>
    <p><!-- CL 84480 -->
      TODO: <a href="https://golang.org/cl/84480">https://golang.org/cl/84480</a>: add variable assignments
    </p>

    <p><!-- CL 95215 -->
      TODO: <a href="https://golang.org/cl/95215">https://golang.org/cl/95215</a>: differentiate nil from missing arg
    </p>

</dl><!-- text/template -->

<dl id="time"><dt><a href="/pkg/time/">time</a></dt>
  <dd>
    <p><!-- CL 98157 -->
      TODO: <a href="https://golang.org/cl/98157">https://golang.org/cl/98157</a>: add support for parsing timezones denoted by sign and offset
    </p>

</dl><!-- time -->
