@@ -36,7 +36,8 @@ <h2 id="introduction">DRAFT RELEASE NOTES - Introduction to Go 1.8</h2>
36
36
< a href ="#gc "> reduces GC pauses</ a > by eliminating stop-the-world stack rescanning,
37
37
< a href ="#h2push "> adds HTTP/2 Push support</ a > ,
38
38
< a href ="#http_shutdown "> adds HTTP graceful shutdown</ a > ,
39
- < a href ="#more_context "> more context support</ a > ,
39
+ < a href ="#more_context "> adds more context support</ a > ,
40
+ < a href ="#mutex_prof "> enables profiling mutexes</ a > ,
40
41
and < a href ="#sort "> simplifies sorting slices</ a > .
41
42
</ p >
42
43
@@ -64,7 +65,7 @@ <h2 id="ports">Ports</h2>
64
65
</ p >
65
66
66
67
< p >
67
- Go now requires DragonFly BSD 4.4.4 or later. <!-- CL 29491 -->
68
+ Go now requires DragonFly BSD 4.4.4 or later. <!-- CL 29491, CL 29971 -->
68
69
</ p >
69
70
70
71
< p >
@@ -223,6 +224,10 @@ <h3 id="tool_pprof">Pprof</h3>
223
224
224
225
< p >
225
226
TODO: more. proto? standalone profiles with symbols?
227
+ < pre >
228
+ runtime/pprof: output CPU profiles in pprof protobuf format (CL 33071)
229
+ runtime/pprof: write profiles in protobuf format. (CL 32257)
230
+ </ pre >
226
231
</ p>
227
232
228
233
< h3 id ="tool_trace "> Trace</ h3 >
@@ -233,6 +238,7 @@ <h3 id="tool_trace">Trace</h3>
233
238
cmd/trace: fix a runnable goroutine count bug (CL 25552)
234
239
cmd/trace: move process-wide GC events to their own row (CL 30017)
235
240
internal/trace: fix analysis of EvGoWaiting/EvGoInSyscall events (CL 25572)
241
+ cmd/trace: annotate different mark worker types (CL 30702)
236
242
</ pre >
237
243
238
244
< h3 id ="tool_vet "> Vet</ h3 >
@@ -543,6 +549,25 @@ <h3 id="more_context">More Context Support</h3>
543
549
take a context.</ li >
544
550
</ ul >
545
551
552
+ < h3 id ="mutex_prof "> Mutex Contention Profiling</ h3 >
553
+
554
+ < p >
555
+ The runtime and tools now support profiling contended mutexes.
556
+ </ p >
557
+
558
+ < p >
559
+ Most users will want to use the new < code > -mutexprofile</ code >
560
+ flag with < a href ="/cmd/go/#hdr-Description_of_testing_flags "> < code > go</ code > < code > test</ code > </ a > ,
561
+ and then use < a href ="/cmd/pprof/ "> pprof</ a > on the resultant file.
562
+ </ p >
563
+
564
+ < p >
565
+ Lower-level support is also available via the new
566
+ < a href ="/pkg/runtime/#MutexProfile "> < code > MutexProfile</ code > </ a >
567
+ and
568
+ < a href ="/pkg/runtime/#SetMutexProfileFraction "> < code > SetMutexProfileFraction</ code > </ a > .
569
+ </ p >
570
+
546
571
< h3 id ="minor_library_changes "> Minor changes to the library</ h3 >
547
572
548
573
< p >
@@ -936,6 +961,20 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
936
961
</ dd >
937
962
</ dl >
938
963
964
+ < dl id ="fmt "> < dt > < a href ="/pkg/fmt/ "> fmt</ a > </ dt >
965
+ < dd >
966
+ < p > <!-- CL 30611 -->
967
+ < a href ="/pkg/fmt/#Scanf "> < code > Scanf</ code > </ a > ,
968
+ < a href ="/pkg/fmt/#Fscanf "> < code > Fscanf</ code > </ a > , and
969
+ < a href ="/pkg/fmt/#Sscanf "> < code > Sscanf</ code > </ a > now
970
+ handle spaces differently and more consistently than
971
+ previous releases. See the
972
+ < a href ="/pkg/fmt/#hdr-Scanning "> scanning documentation</ a >
973
+ for details.
974
+ </ p >
975
+ </ dd >
976
+ </ dl >
977
+
939
978
< dl id ="go_doc "> < dt > < a href ="/pkg/go/doc/ "> go/doc</ a > </ dt >
940
979
< dd >
941
980
< p > <!-- CL 29870 -->
@@ -945,6 +984,31 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
945
984
</ dd >
946
985
</ dl >
947
986
987
+ < dl id ="go_types "> < dt > < a href ="/pkg/go/types/ "> go/types</ a > </ dt >
988
+ < dd >
989
+ < p > <!-- CL 30715 -->
990
+ The new function
991
+ < a href ="/pkg/go/types/#Default "> < code > Default</ code > </ a >
992
+ returns the default "typed" type for an "untyped" type.
993
+ </ p >
994
+
995
+ < p > <!-- CL 31939 -->
996
+ The alignment of < code > complex64</ code > now matches
997
+ the < a href ="/cmd/compile/ "> Go compiler</ a > .
998
+ </ p >
999
+ </ dd >
1000
+ </ dl >
1001
+
1002
+ < dl id ="html_template "> < dt > < a href ="/pkg/html/template/ "> html/template</ a > </ dt >
1003
+ < dd >
1004
+ < p > <!-- CL 14336 -->
1005
+ The package now validates
1006
+ the < code > "type"</ code > attribute on
1007
+ a < code > <script></ code > tag.
1008
+ </ p >
1009
+ </ dd >
1010
+ </ dl >
1011
+
948
1012
< dl id ="image_png "> < dt > < a href ="/pkg/image/png/ "> image/png</ a > </ dt >
949
1013
< dd >
950
1014
< p > <!-- CL 32143, CL 32140 -->
@@ -1411,7 +1475,6 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
1411
1475
</ dd >
1412
1476
</ dl >
1413
1477
1414
-
1415
1478
< dl id ="strconv "> < dt > < a href ="/pkg/strconv/ "> strconv</ a > </ dt >
1416
1479
< dd >
1417
1480
< p > <!-- CL 31210 -->
@@ -1423,6 +1486,29 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
1423
1486
</ dd >
1424
1487
</ dl >
1425
1488
1489
+ < dl id ="syscall "> < dt > < a href ="/pkg/syscall/ "> syscall</ a > </ dt >
1490
+ < dd >
1491
+ < p > <!-- CL 25050, CL 25022 -->
1492
+ The < a href ="/pkg/syscall/#Getpagesize "> < code > Getpagesize</ code > </ a >
1493
+ now returns the system's size, rather than a constant value.
1494
+ Previously it always returned 4KB.
1495
+ </ p >
1496
+
1497
+ < p > <!-- CL 31446 -->
1498
+ The signature
1499
+ of < a href ="/pkg/syscall/#Utimes "> < code > Utimes</ code > </ a > has
1500
+ changed on Solaris to match all the other Unix systems'
1501
+ signature. Portable code should continue to use
1502
+ < a href ="/pkg/os/#Chtimes "> < code > os.Chtimes</ code > </ a > instead.
1503
+ </ p >
1504
+
1505
+ < p > <!-- CL 32319 -->
1506
+ The < code > X__cmsg_data</ code > field has been removed from
1507
+ < a href ="/pkg/syscall/#Cmsghdr "> < code > Cmsghdr</ code > </ a > .
1508
+ </ p >
1509
+ </ dd >
1510
+ </ dl >
1511
+
1426
1512
< dl id ="text_template "> < dt > < a href ="/pkg/text/template/ "> text/template</ a > </ dt >
1427
1513
< dd >
1428
1514
< p > <!-- CL 31462 -->
0 commit comments