26
26
</ style >
27
27
28
28
< p >
29
+ <!-- TODO: REMOVE THIS COMMENT -->
30
+ <!-- TODO: Also remove "DRAFT" in the "Title" at the top of this file. -->
29
31
< i > NOTE: This is a DRAFT of the Go 1.7 release notes, prepared for the Go 1.7 beta.
30
32
Go 1.7 has NOT yet been released.
31
33
By our regular schedule, it is expected some time in August 2016.
32
- <!-- NOTE: WHEN REMOVING THIS COMMENT FIX THE TITLE AT THE TOP OF THE FILE TOO! -->
33
34
</ i >
34
35
</ p >
35
36
@@ -48,12 +49,11 @@ <h2 id="introduction">Introduction to Go 1.7</h2>
48
49
< a href ="#compiler "> updates the x86-64 compiler back end</ a > to generate more efficient code;
49
50
includes the < a href ="#context "> context package</ a > , promoted from the
50
51
< a href ="https://golang.org/x/net/context "> x/net subrepository</ a >
51
- and now used throughout the standard library;
52
+ and now used in the standard library;
52
53
and < a href ="#testing "> adds support in the testing package</ a > for
53
54
creating hierarchies of tests and benchmarks.
54
- The release also removes the ability to disable
55
- the < a href ="https://golang.org/s/go15vendor "> vendoring changes</ a > started in Go 1.5:
56
- vendoring is now an official part of the Go toolchain.
55
+ The release also < a href ="#cmd/go "> finalizes the vendoring support</ a >
56
+ started in Go 1.5, making it a standard feature.
57
57
</ p >
58
58
59
59
< h2 id ="language "> Changes to the language</ h2 >
@@ -69,6 +69,7 @@ <h2 id="language">Changes to the language</h2>
69
69
The < a href ="/pkg/go/types/ "> < code > go/types</ code > </ a >
70
70
package has been updated to match the gc and gccgo compiler toolchains
71
71
in this respect.
72
+ This change has no effect on the correctness of existing programs.
72
73
</ p >
73
74
74
75
< h2 id ="ports "> Ports</ h2 >
@@ -86,7 +87,6 @@ <h2 id="ports">Ports</h2>
86
87
< p >
87
88
The experimental port to Linux on big-endian 64-bit PowerPC (< code > linux/ppc64</ code > )
88
89
now requires the POWER8 architecture or later.
89
- TODO: Pending ppc64le change for cgo.
90
90
</ p >
91
91
92
92
< p >
@@ -138,7 +138,8 @@ <h3 id="compiler">Compiler Toolchain</h3>
138
138
generates more compact, more efficient code
139
139
and provides a better platform for optimizations
140
140
such as bounds check elimination.
141
- The new back end reduces the CPU time required by < a href ="https://golang.org/test/bench/go1/ "> our benchmark programs</ a > by 5-35%.
141
+ The new back end reduces the CPU time required by
142
+ < a href ="https://golang.org/test/bench/go1/ "> our benchmark programs</ a > by 5-35%.
142
143
</ p >
143
144
144
145
< p >
@@ -229,7 +230,7 @@ <h3 id="cmd/go">Go command</h3>
229
230
This release removes support for the < code > GO15VENDOREXPERIMENT</ code > environment variable,
230
231
as < a href ="/doc/go1.6#go_command "> announced</ a > in the Go 1.6 release.
231
232
< a href ="https://golang.org/s/go15vendor "> Vendoring support</ a >
232
- is now a standard feature of the go command and toolchain.
233
+ is now a standard feature of the < code > go </ code > command and toolchain.
233
234
</ p >
234
235
235
236
< p >
@@ -360,10 +361,6 @@ <h3 id="context">Context</h3>
360
361
as noted below.
361
362
</ p >
362
363
363
- < p >
364
- TODO: Example here.
365
- </ p >
366
-
367
364
< p >
368
365
For more information about contexts, see the
369
366
< a href ="/pkg/context/ "> package documentation</ a >
@@ -376,14 +373,10 @@ <h3 id="testing">Testing</h3>
376
373
< p >
377
374
The < code > testing</ code > package now supports the definition
378
375
of tests with subtests and benchmarks with sub-benchmarks.
379
- </ p >
380
-
381
- < p >
382
- TODO: Where is the documentation for this?
383
- </ p >
384
-
385
- < p >
386
- TODO: Example here.
376
+ This support makes it easy to write table-driven benchmarks
377
+ and to create hierarchical tests.
378
+ It also provides a way to share common setup and tear-down code.
379
+ See the < a href ="/pkg/testing/#hdr-Subtests_and_Sub_benchmarks "> package documentation</ a > for details.
387
380
</ p >
388
381
389
382
< h3 id ="runtime "> Runtime</ h3 >
@@ -406,7 +399,8 @@ <h3 id="runtime">Runtime</h3>
406
399
The new function
407
400
< a href ="/pkg/runtime/#KeepAlive "> < code > KeepAlive</ code > </ a >
408
401
provides an explicit mechanism for declaring
409
- that an allocated object is currently reachable,
402
+ that an allocated object must be considered reachable
403
+ at a particular point in a program,
410
404
typically to delay the execution of an associated finalizer.
411
405
</ p >
412
406
@@ -533,14 +527,20 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
533
527
534
528
< dd >
535
529
< p >
536
- TODO: Describe Config.DynamicRecordSizingDisabled or whatever replaces it.
530
+ The TLS implementation sends the first few data packets on each connection
531
+ using small record sizes, gradually increasing to the TLS maximum record size.
532
+ This heuristic reduces the amount of data that must be received before
533
+ the first packet can be decrypted, improving communication latency over
534
+ low-bandwidth networks.
535
+ < a href ="/pkg/crypto/tls/#Config "> < code > Config</ code > </ a > 's
536
+ < code > DynamicRecordSizingDisabled</ code > field to true.
537
537
</ p >
538
538
539
539
< p >
540
540
The TLS client now has optional, limited support for server-initiated renegotiation,
541
541
enabled by setting the
542
542
< a href ="/pkg/crypto/tls/#Config "> < code > Config</ code > </ a > 's
543
- Renegotiation field.
543
+ < code > Renegotiation</ code > field.
544
544
This is needed for connecting to many Microsoft Azure servers.
545
545
</ p >
546
546
@@ -815,8 +815,8 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
815
815
< a href ="/pkg/net/http/#Transport "> < code > Transport</ code > </ a > implementation passes the request context
816
816
to any dial operation connecting to the remote server.
817
817
If a custom dialer is needed, the new < code > Transport</ code > field
818
- < code > Dialer </ code > is preferred over the existing < code > Dial</ code > field,
819
- because the former can accept a context.
818
+ < code > DialContext </ code > is preferred over the existing < code > Dial</ code > field,
819
+ to allow the transport to supply a context.
820
820
</ p >
821
821
822
822
< p >
@@ -1086,14 +1086,6 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
1086
1086
</ p >
1087
1087
</ dd >
1088
1088
1089
- < dl id ="text/scanner "> < a href ="/pkg/text/scanner/ "> text/scanner</ a > </ dl >
1090
-
1091
- < dd >
1092
- < p >
1093
- TODO: Describe whatever the final state is after golang.org/issue/15813 is resolved.
1094
- </ p >
1095
- </ dd >
1096
-
1097
1089
< dl id ="time "> < a href ="/pkg/time/ "> time</ a > </ dl >
1098
1090
1099
1091
< dd >
0 commit comments