@@ -372,13 +372,30 @@ <h2 id="performance">Performance</h2>
372
372
</ p >
373
373
374
374
< p >
375
- There have been significant optimizations bringing more than 10% improvements
376
- to implementations in the
377
- TODO TODO:
378
- < a href ="/pkg/foo/ "> < code > foo</ code > </ a > ,
379
- < a href ="/pkg/bar/ "> < code > bar</ code > </ a > ,
380
- and
381
- < a href ="/pkg/quux/ "> < code > quux</ code > </ a >
375
+ There have been optimizations to implementations in the
376
+ < a href ="/pkg/bytes/ "> < code > bytes</ code > </ a > ,
377
+ < a href ="/pkg/crypto/aes/ "> < code > crypto/aes</ code > </ a > ,
378
+ < a href ="/pkg/crypto/cipher/ "> < code > crypto/cipher</ code > </ a > ,
379
+ < a href ="/pkg/crypto/elliptic/ "> < code > crypto/elliptic</ code > </ a > ,
380
+ < a href ="/pkg/crypto/sha256/ "> < code > crypto/sha256</ code > </ a > ,
381
+ < a href ="/pkg/crypto/sha512/ "> < code > crypto/sha512</ code > </ a > ,
382
+ < a href ="/pkg/encoding/asn1/ "> < code > encoding/asn1</ code > </ a > ,
383
+ < a href ="/pkg/encoding/csv/ "> < code > encoding/csv</ code > </ a > ,
384
+ < a href ="/pkg/encoding/hex/ "> < code > encoding/hex</ code > </ a > ,
385
+ < a href ="/pkg/encoding/json/ "> < code > encoding/json</ code > </ a > ,
386
+ < a href ="/pkg/hash/crc32/ "> < code > hash/crc32</ code > </ a > ,
387
+ < a href ="/pkg/image/color/ "> < code > image/color</ code > </ a > ,
388
+ < a href ="/pkg/image/draw/ "> < code > image/draw</ code > </ a > ,
389
+ < a href ="/pkg/math/ "> < code > math</ code > </ a > ,
390
+ < a href ="/pkg/math/big/ "> < code > math/big</ code > </ a > ,
391
+ < a href ="/pkg/reflect/ "> < code > reflect</ code > </ a > ,
392
+ < a href ="/pkg/regexp/ "> < code > regexp</ code > </ a > ,
393
+ < a href ="/pkg/runtime/ "> < code > runtime</ code > </ a > ,
394
+ < a href ="/pkg/strconv/ "> < code > strconv</ code > </ a > ,
395
+ < a href ="/pkg/strings/ "> < code > strings</ code > </ a > ,
396
+ < a href ="/pkg/syscall/ "> < code > syscall</ code > </ a > ,
397
+ < a href ="/pkg/text/template/ "> < code > text/template</ code > </ a > , and
398
+ < a href ="/pkg/unicode/utf8/ "> < code > unicode/utf8</ code > </ a > ,
382
399
packages.
383
400
</ p >
384
401
@@ -483,7 +500,8 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
483
500
< p >
484
501
As always, there are various minor changes and updates to the library,
485
502
made with the Go 1 < a href ="/doc/go1compat "> promise of compatibility</ a >
486
- in mind.
503
+ in mind. The follow sections list the user visible changes and additions.
504
+ Optimizations and bug fixes are not listed.
487
505
</ p >
488
506
489
507
< dl id ="archive_tar "> < dt > < a href ="/pkg/archive/tar/ "> archive/tar</ a > </ dt >
@@ -840,6 +858,16 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
840
858
</ dd >
841
859
</ dl >
842
860
861
+ < dl id ="encoding_xml "> < dt > < a href ="/pkg/encoding/xml/ "> encoding/xml</ a > </ dt >
862
+ < dd >
863
+ < p > <!-- CL 30946 -->
864
+ < a href ="/pkg/encoding/xml/#Unmarshal "> < code > Unmarshal</ code > </ a >
865
+ now has wildcard support for collecting all attributes using
866
+ the new < code > ",any,attr"</ code > struct tag.
867
+ </ p >
868
+ </ dd >
869
+ </ dl >
870
+
843
871
< dl id ="expvar "> < dt > < a href ="/pkg/expvar/ "> expvar</ a > </ dt >
844
872
< dd >
845
873
< p > <!-- CL 30917 -->
@@ -860,6 +888,14 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
860
888
</ dd >
861
889
</ dl >
862
890
891
+ < dl id ="go_doc "> < dt > < a href ="/pkg/go/doc/ "> go/doc</ a > </ dt >
892
+ < dd >
893
+ < p > <!-- CL 29870 -->
894
+ The new < a href ="/pkg/go/doc/#IsPredeclared "> < code > IsPredeclared</ code > </ a >
895
+ function reports whether a string is a predeclared identifier.
896
+ </ p >
897
+ </ dd >
898
+ </ dl >
863
899
864
900
< dl id ="image_png "> < dt > < a href ="/pkg/image/png/ "> image/png</ a > </ dt >
865
901
< dd >
@@ -974,7 +1010,29 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
974
1010
the listener is closed.
975
1011
</ p >
976
1012
977
- < p > TODO: many other net changes</ p >
1013
+ < p > <!-- CL 29951 -->
1014
+ The new < a href ="/pkg/net/#Buffers "> < code > Buffers</ code > </ a > types permits
1015
+ more efficiently writing to the network from multiple discontiguous buffers
1016
+ in memory. On certain machines, for certain types of connections,
1017
+ this is optimized into an OS-specific batch write operation (such as < code > writev</ code > ).
1018
+ </ p >
1019
+
1020
+ < p > <!-- CL 29440 -->
1021
+ The new < a href ="/pkg/net/#Resolver "> < code > Resolver</ code > </ a > looks up names and numbers
1022
+ and supports < a href ="/pkg/context/#Context "> < code > context.Context</ code > </ a > .
1023
+ The < a href ="/pkg/net/#Dialer "> < code > Dialer</ code > </ a > now has an optional
1024
+ < a href ="/pkg/net/#Dialer.Resolver "> < code > Resolver</ code > field</ a > .
1025
+ </ p >
1026
+
1027
+ < p > <!-- CL 29892 -->
1028
+ < a href ="/pkg/net/#Interfaces "> < code > Interfaces</ code > </ a > is now supported on Solaris.
1029
+ </ p >
1030
+
1031
+ < p > <!-- CL 29233, CL 24901 -->
1032
+ The Go DNS resolver now supports < code > resolv.conf</ code > 's "< code > rotate</ code > "
1033
+ and "< code > option ndots:0</ code > " options. The "< code > ndots</ code > " option is
1034
+ now respected in the same way as < code > libresolve</ code > .
1035
+ </ p >
978
1036
979
1037
</ dd >
980
1038
</ dl >
@@ -1108,6 +1166,30 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
1108
1166
</ dd >
1109
1167
</ dl >
1110
1168
1169
+ < dl id ="net_http_httptrace "> < dt > < a href ="/pkg/net/http/httptrace/ "> net/http/httptrace</ a > </ dt >
1170
+ < dd >
1171
+ < p > <!-- CL 30359 -->
1172
+ There is now support for tracing a client request's TLS handshakes with
1173
+ the new
1174
+ < a href ="/pkg/net/http/httptrace/#ClientTrace.TLSHandshakeStart "> < code > ClientTrace.TLSHandshakeStart</ code > </ a >
1175
+ and
1176
+ < a href ="/pkg/net/http/httptrace/#ClientTrace.TLSHandshakeDone "> < code > ClientTrace.TLSHandshakeDone</ code > </ a > .
1177
+ </ p >
1178
+ </ dd >
1179
+ </ dl >
1180
+
1181
+ < dl id ="net_http_httputil "> < dt > < a href ="/pkg/net/http/httputil/ "> net/http/httputil</ a > </ dt >
1182
+ < dd >
1183
+ < p > <!-- CL 32356 -->
1184
+ The < a href ="/pkg/net/http/httputil/#ReverseProxy "> < code > ReverseProxy</ code > </ a >
1185
+ has a new optional hook,
1186
+ < a href ="/pkg/net/http/httputil/#ReverseProxy.ModifyResponse "> < code > ModifyResponse</ code > </ a > ,
1187
+ for modifying the response from the backend before proxying it to the client.
1188
+ </ p >
1189
+
1190
+ </ dd >
1191
+ </ dl >
1192
+
1111
1193
< dl id ="net_mail "> < dt > < a href ="/pkg/net/mail/ "> net/mail</ a > </ dt >
1112
1194
< dd >
1113
1195
@@ -1202,6 +1284,22 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
1202
1284
</ dd >
1203
1285
</ dl >
1204
1286
1287
+ < dl id ="path_filepath "> < dt > < a href ="/pkg/path/filepath/ "> path/filepath</ a > </ dt >
1288
+ < dd >
1289
+ < p >
1290
+ < p > A number of bugs and corner cases on Windows were fixed:
1291
+ < a href ="/pkg/path/filepath/#Abs "> < code > Abs</ code > </ a > now calls < code > Clean</ code > paths as documented,
1292
+ < a href ="/pkg/path/filepath/#Glob "> < code > Glob</ code > </ a > now matches
1293
+ "< code > \\?\c:\*</ code > ",
1294
+ < a href ="/pkg/path/filepath/#EvalSymlinks "> < code > EvalSymlinks</ code > </ a > now
1295
+ correctly handles "< code > C:.</ code > ", and
1296
+ < a href ="/pkg/path/filepath/#Clean "> < code > Clean</ code > </ a > now properlys handles a leading "< code > ..</ code > "
1297
+ in the path.
1298
+ < p >
1299
+
1300
+ </ dd >
1301
+ </ dl >
1302
+
1205
1303
< dl id ="reflect "> < dt > < a href ="/pkg/reflect/ "> reflect</ a > </ dt >
1206
1304
< dd >
1207
1305
< p > <!-- CL 30088 -->
@@ -1224,6 +1322,20 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
1224
1322
</ dd >
1225
1323
</ dl >
1226
1324
1325
+ < dl id ="text_template "> < dt > < a href ="/pkg/text/template/ "> text/template</ a > </ dt >
1326
+ < dd >
1327
+ < p > <!-- CL 31462 -->
1328
+ < a href ="/pkg/text/template/#Template.Execute "> < code > Template.Execute</ code > </ a >
1329
+ can now take a
1330
+ < a href ="/pkg/reflect/#Value "> < code > reflect.Value</ code > </ a > as its data
1331
+ argument, and
1332
+ < a href ="/pkg/text/template/#FuncMap "> < code > FuncMap</ code > </ a >
1333
+ functions can also accept and return < code > reflect.Value</ code > .
1334
+ </ p >
1335
+
1336
+ </ dd >
1337
+ </ dl >
1338
+
1227
1339
< dl id ="time "> < dt > < a href ="/pkg/time/ "> time</ a > </ dt >
1228
1340
< dd >
1229
1341
0 commit comments