]> Cypherpunks repositories - gostls13.git/commitdiff
doc: flesh out some more Go 1.9 package notes
authorBrad Fitzpatrick <bradfitz@golang.org>
Tue, 13 Jun 2017 18:46:28 +0000 (18:46 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 13 Jun 2017 19:57:51 +0000 (19:57 +0000)
Change-Id: Ib6e2b858fcb15ea95fa8cfcba3bfac4e210605fe
Reviewed-on: https://go-review.googlesource.com/45610
Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
doc/go1.9.html

index 28481e5d6009c93a0b60fa89b7e9dc26b09dcfc7..03ff12d2ebda04885f43a03174a3a1a57438ab0f 100644 (file)
@@ -236,19 +236,15 @@ type T1 = T2
 <dl id="archive/zip"><dt><a href="/pkg/archive/zip/">archive/zip</a></dt>
   <dd>
     <p><!-- CL 39570 -->
-      TODO: <a href="https://golang.org/cl/39570">https://golang.org/cl/39570</a>: set utf-8 flag
+      The
+      ZIP <a href="/pkg/archive/zip/#Writer"><code>Writer</code></a>
+      now sets the UTF-8 bit in
+      the <a href="/pkg/archive/zip/#FileHeader.Flags"><code>FileHeader.Flags</code></a>
+      when appropriate.
     </p>
 
 </dl><!-- archive/zip -->
 
-<dl id="crypto"><dt><a href="/pkg/crypto/">crypto</a></dt>
-  <dd>
-    <p><!-- CL 36876 -->
-      TODO: <a href="https://golang.org/cl/36876">https://golang.org/cl/36876</a>: add BLAKE2b and BLAKE2s hash constants
-    </p>
-
-</dl><!-- crypto -->
-
 <dl id="crypto/aes"><dt><a href="/pkg/crypto/aes/">crypto/aes</a></dt>
   <dd>
     <p><!-- CL 38366 -->
@@ -260,7 +256,11 @@ type T1 = T2
 <dl id="crypto/rand"><dt><a href="/pkg/crypto/rand/">crypto/rand</a></dt>
   <dd>
     <p><!-- CL 43852 -->
-      TODO: <a href="https://golang.org/cl/43852">https://golang.org/cl/43852</a>: use blocking getrandom call on Linux when supported
+      On Linux, Go now calls the <code>getrandom</code> system call
+      without the <code>GRND_NONBLOCK</code> flag; it will now block
+      until the kernel has sufficient randomness. On kernels predating
+      the <code>getrandom</code> system call, Go continues to read
+      from <code>/dev/urandom</code>.
     </p>
 
 </dl><!-- crypto/rand -->
@@ -268,11 +268,28 @@ type T1 = T2
 <dl id="crypto/x509"><dt><a href="/pkg/crypto/x509/">crypto/x509</a></dt>
   <dd>
     <p><!-- CL 36093 -->
-      TODO: <a href="https://golang.org/cl/36093">https://golang.org/cl/36093</a>: load certs from env vars + extra locations
+
+      On UNIX systems the environment
+      variables <code>SSL_CERT_FILE</code>
+      and <code>SSL_CERT_DIR</code> can now be used to override the
+      system default locations for the SSL certificate file and SSL
+      certificate files directory, respectively.
+    </p>
+
+    <p>The FreeBSD path <code>/usr/local/etc/ssl/cert.pem</code> is
+      now included in the certificate search path.
     </p>
 
     <p><!-- CL 36900 -->
-      TODO: <a href="https://golang.org/cl/36900">https://golang.org/cl/36900</a>: support excluded domains in name constraints.
+
+      The package now supports excluded domains in name constraints.
+      In addition to enforcing such constraints,
+      <a href="/pkg/crypto/x509/#CreateCertificate"><code>CreateCertificate</code></a>
+      will create certificates with excluded name constraints
+      if the provided template certificate has the new
+      field
+      <a href="/pkg/crypto/x509/#Certificate.ExcludedDNSDomains"><code>ExcludedDNSDomains</code></a>
+      populated.
     </p>
 
 </dl><!-- crypto/x509 -->
@@ -293,14 +310,6 @@ type T1 = T2
 
 </dl><!-- database/sql -->
 
-<dl id="debug/dwarf"><dt><a href="/pkg/debug/dwarf/">debug/dwarf</a></dt>
-  <dd>
-    <p><!-- CL 44017 -->
-      TODO: <a href="https://golang.org/cl/44017">https://golang.org/cl/44017</a>: heuristically handle both UNIX and Windows paths
-    </p>
-
-</dl><!-- debug/dwarf -->
-
 <dl id="encoding/asn1"><dt><a href="/pkg/encoding/asn1/">encoding/asn1</a></dt>
   <dd>
     <p><!-- CL 38660 -->
@@ -325,7 +334,12 @@ type T1 = T2
 <dl id="fmt"><dt><a href="/pkg/fmt/">fmt</a></dt>
   <dd>
     <p><!-- CL 37051 -->
-      TODO: <a href="https://golang.org/cl/37051">https://golang.org/cl/37051</a>: support sharp flag for float and complex value printing
+      The sharp flag ('<code>#</code>') is now supported when printing
+      floating point and complex numbers. It will always print a
+      decimal point
+      for <code>%e</code>, <code>%E</code>, <code>%f</code>, <code>%F</code>, <code>%g</code>
+      and <code>%G</code>; it will not remove trailing zeros
+      for <code>%g</code> and <code>%G</code>.
     </p>
 
 </dl><!-- fmt -->
@@ -341,7 +355,9 @@ type T1 = T2
 <dl id="hash/fnv"><dt><a href="/pkg/hash/fnv/">hash/fnv</a></dt>
   <dd>
     <p><!-- CL 38356 -->
-      TODO: <a href="https://golang.org/cl/38356">https://golang.org/cl/38356</a>: add 128-bit FNV hash support
+      The package now includes 128-bit FNV-1 and FNV-1a hash support with
+      <a href="/pkg/hash/fnv/#New128"><code>New128</code></a> and
+      <a href="/pkg/hash/fnv/#New128a"><code>New128a</code></a>, respectively.
     </p>
 
 </dl><!-- hash/fnv -->
@@ -402,7 +418,13 @@ type T1 = T2
 <dl id="math/big"><dt><a href="/pkg/math/big/">math/big</a></dt>
   <dd>
     <p><!-- CL 36487 -->
-      TODO: <a href="https://golang.org/cl/36487">https://golang.org/cl/36487</a>: add IsInt64/IsUint64 predicates
+      The new
+      <a href="/pkg/math/big/#Int.IsInt64"><code>IsInt64</code></a>
+      and
+      <a href="/pkg/math/big/#Int.IsUint64"><code>IsUint64</code></a>
+      methods report whether an <code>Int</code>
+      may be represented as an <code>int64</code> or <code>uint64</code>
+      value.
     </p>
 
 </dl><!-- math/big -->
@@ -410,7 +432,9 @@ type T1 = T2
 <dl id="mime/multipart"><dt><a href="/pkg/mime/multipart/">mime/multipart</a></dt>
   <dd>
     <p><!-- CL 39223 -->
-      TODO: <a href="https://golang.org/cl/39223">https://golang.org/cl/39223</a>: add Size to FileHeader
+      The new
+      <a href="/pkg/mime/multipart/#FileHeader.Size"><code>FileHeader.Size</code></a>
+      field describes the size of a file in a multipart message.
     </p>
 
 </dl><!-- mime/multipart -->
@@ -437,6 +461,16 @@ type T1 = T2
       TODO: <a href="https://golang.org/cl/40512">https://golang.org/cl/40512</a>: validate network in Dial{,IP} and Listen{Packet,IP} for IP networks
     </p>
 
+    <p><!-- CL 37913 -->
+      The new methods
+      <a href="/pkg/net/#TCPConn.SyscallConn"><code>TCPConn.SyscallConn</code></a>,
+      <a href="/pkg/net/#IPConn.SyscallConn"><code>IPConn.SyscallConn</code></a>,
+      <a href="/pkg/net/#UDPConn.SyscallConn"><code>UDPConn.SyscallConn</code></a>,
+      and
+      <a href="/pkg/net/#UnixConn.SyscallConn"><code>UnixConn.SyscallConn</code></a>
+      provide access to the connections' underlying file descriptors.
+    </p>
+
 </dl><!-- net -->
 
 <dl id="net/http"><dt><a href="/pkg/net/http/">net/http</a></dt>
@@ -610,15 +644,26 @@ type T1 = T2
 <dl id="syscall"><dt><a href="/pkg/syscall/">syscall</a></dt>
   <dd>
     <p><!-- CL 36697 -->
-      TODO: <a href="https://golang.org/cl/36697">https://golang.org/cl/36697</a>: only call setgroups if we need to
+      The new field
+      <a href="/pkg/syscall/#Credential.NoSetGroups"><code>Credential.NoSetGroups</code></a>
+      controls whether UNIX systems make a <code>setgroups</code> system call
+      to set supplementary groups when starting a new process.
     </p>
 
     <p><!-- CL 37439 -->
-      TODO: <a href="https://golang.org/cl/37439">https://golang.org/cl/37439</a>: use CLONE_VFORK and CLONE_VM
+      On 64-bit x86 Linux, process creation latency has been optimized with
+      use of <code>CLONE_VFORK</code> and <code>CLONE_VM</code>.
     </p>
 
     <p><!-- CL 37913 -->
-      TODO: <a href="https://golang.org/cl/37913">https://golang.org/cl/37913</a>: add Conn and RawConn interfaces
+      The new
+      <a href="/pkg/syscall/#Conn"><code>Conn</code></a>
+      interface describes some types in the
+      <a href="/pkg/net/"><code>net</code></a>
+      package that can provide access to their underlying file descriptor
+      using the new 
+      <a href="/pkg/syscall/#RawConn"><code>RawConn</code></a>
+      interface.
     </p>
 
 </dl><!-- syscall -->
@@ -646,7 +691,11 @@ type T1 = T2
 <dl id="time"><dt><a href="/pkg/time/">time</a></dt>
   <dd>
     <p><!-- CL 36615 -->
-      TODO: <a href="https://golang.org/cl/36615">https://golang.org/cl/36615</a>: add Duration.Truncate and Duration.Round
+      The new methods
+      <a href="/pkg/time/#Duration.Round"><code>Duration.Round</code></a>
+      and 
+      <a href="/pkg/time/#Duration.Truncate"><code>Duration.Truncate</code></a>
+      handle rounding durations away from and towards zero, respectively.
     </p>
 
     <p><!-- CL 35710 -->