@@ -31,19 +31,30 @@ <h2 id="language">Changes to the language</h2>
31
31
32
32
< h2 id ="ports "> Ports</ h2 >
33
33
34
- < p id ="freebsd ">
34
+ < h3 id ="freebsd "> FreeBSD</ h3 >
35
+
36
+ < p >
35
37
Go 1.18 is the last release that is supported on FreeBSD 11.x, which has
36
38
already reached end-of-life. Go 1.19 will require FreeBSD 12.2+ or FreeBSD
37
39
13.0+.
38
40
FreeBSD 13.0+ will require a kernel with the COMPAT_FREEBSD12 option set (this is the default).
39
41
</ p >
40
42
41
- < h2 id ="tools " > Tools </ h2 >
43
+ < h3 id ="ppc64 " > PPC64 </ h3 >
42
44
43
- < p >
44
- TODO: complete this section, or delete if not needed
45
+ < p > <!-- CL 353969 -->
46
+ TODO: < a href ="https://golang.org/cl/353969 "> https://golang.org/cl/353969</ a > : internal/buildcfg: enable register ABI for PPC64
47
+ </ p >
48
+
49
+ < h3 id ="riscv "> RISC-V</ h3 >
50
+
51
+ < p > <!-- golang.org/issue/47100, CL 334872 -->
52
+ The 64-bit RISC-V architecture on Linux (the < code > linux/riscv64</ code > port)
53
+ now supports the < code > c-archive</ code > and < code > c-shared</ code > build modes.
45
54
</ p >
46
55
56
+ < h2 id ="tools "> Tools</ h2 >
57
+
47
58
< h3 id ="go-command "> Go command</ h3 >
48
59
49
60
< p > <!-- golang.org/issue/43684 -->
@@ -103,8 +114,8 @@ <h3 id="go-command">Go command</h3>
103
114
< code > go</ code > < code > mod</ code > < code > download</ code > < code > all</ code > .
104
115
</ p >
105
116
106
- < p >
107
- TODO: complete this section, or delete if not needed
117
+ < p > <!-- CL 349595 -->
118
+ TODO: < a href =" https://golang.org/cl/349595 " > https://golang.org/cl/349595 </ a > : https://golang.org/cl/349595: cmd/go: add GOAMD64 environment variable
108
119
</ p >
109
120
110
121
< h3 id ="gofmt "> < code > gofmt</ code > </ h3 >
@@ -115,7 +126,6 @@ <h3 id="gofmt"><code>gofmt</code></h3>
115
126
multiple CPUs, < code > gofmt</ code > should now be significantly faster.
116
127
</ p >
117
128
118
-
119
129
< h2 id ="runtime "> Runtime</ h2 >
120
130
121
131
< p >
@@ -124,24 +134,30 @@ <h2 id="runtime">Runtime</h2>
124
134
125
135
< h2 id ="compiler "> Compiler</ h2 >
126
136
127
- < p >
128
- TODO: complete this section, or delete if not needed
137
+ < p > <!-- CL 298611 -->
138
+ TODO: < a href ="https://golang.org/cl/298611 "> https://golang.org/cl/298611</ a > : https://golang.org/cl/298611: cmd/compile: add -asan option
139
+ </ p >
140
+
141
+ < p > <!-- CL 352057 -->
142
+ TODO: < a href ="https://golang.org/cl/352057 "> https://golang.org/cl/352057</ a > : https://golang.org/cl/352057: cmd/compile, runtime: track argument stack slot liveness
129
143
</ p >
130
144
131
145
< h2 id ="linker "> Linker</ h2 >
132
146
133
- < p >
134
- TODO: complete this section, or delete if not needed
147
+ < p > <!-- CL 298610 -->
148
+ TODO: < a href =" https://golang.org/cl/298610 " > https://golang.org/cl/298610 </ a > : https://golang.org/cl/298610: cmd/link: add -asan option
135
149
</ p >
136
150
137
151
< h2 id ="library "> Core library</ h2 >
138
152
139
- < h3 > TODO</ h3 >
140
- < p >
141
- TODO: complete this section
153
+ < h3 id ="constraints "> New < code > constraints</ code > package</ h3 >
154
+
155
+ < p > <!-- CL 349709 -->
156
+ TODO: < a href ="https://golang.org/cl/349709 "> https://golang.org/cl/349709</ a > : constraints: new package
142
157
</ p >
143
158
144
159
< h3 id ="netip "> New < code > net/netip</ code > package</ h3 >
160
+
145
161
< p >
146
162
The new < a href ="/pkg/net/netip/ "> < code > net/netip</ code > </ a >
147
163
package defines a new IP address type, < a href ="/pkg/net/netip/#Addr "> < code > Addr</ code > </ a > .
@@ -163,6 +179,12 @@ <h3 id="netip">New <code>net/netip</code> package</h3>
163
179
< code > *net.UDPAddr</ code > values.
164
180
</ p >
165
181
182
+ < h3 > TODO</ h3 >
183
+
184
+ < p >
185
+ TODO: complete this section
186
+ </ p >
187
+
166
188
< h3 id ="minor_library_changes "> Minor changes to the library</ h3 >
167
189
168
190
< p >
@@ -175,6 +197,26 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
175
197
TODO: complete this section
176
198
</ p >
177
199
200
+ < dl id ="bufio "> < dt > < a href ="/pkg/bufio/ "> bufio</ a > </ dt >
201
+ < dd >
202
+ < p > <!-- CL 345569 -->
203
+ TODO: < a href ="https://golang.org/cl/345569 "> https://golang.org/cl/345569</ a > : add Writer.AvailableBuffer
204
+ </ p >
205
+
206
+ < p > <!-- CL 345570 -->
207
+ TODO: < a href ="https://golang.org/cl/345570 "> https://golang.org/cl/345570</ a > : make Reader.Reset and Writer.Reset work on the zero value
208
+ </ p >
209
+ </ dd >
210
+ </ dl > <!-- bufio -->
211
+
212
+ < dl id ="crypto/tls "> < dt > < a href ="/pkg/crypto/tls/ "> crypto/tls</ a > </ dt >
213
+ < dd >
214
+ < p > <!-- CL 325250 -->
215
+ TODO: < a href ="https://golang.org/cl/325250 "> https://golang.org/cl/325250</ a > : add Conn.NetConn method
216
+ </ p >
217
+ </ dd >
218
+ </ dl > <!-- crypto/tls -->
219
+
178
220
< dl id ="debug/buildinfo "> < dt > < a href ="/pkg/debug/buildinfo "> debug/buildinfo</ a > </ dt >
179
221
< dd >
180
222
< p > <!-- golang.org/issue/39301 -->
@@ -201,18 +243,41 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
201
243
</ dd >
202
244
</ dl > <!-- image/draw -->
203
245
246
+ < dl id ="net "> < dt > < a href ="/pkg/net/ "> net</ a > </ dt >
247
+ < dd >
248
+ < p > <!-- CL 340261 -->
249
+ TODO: < a href ="https://golang.org/cl/340261 "> https://golang.org/cl/340261</ a > : deprecate (net.Error).Temporary
250
+ </ p >
251
+ </ dd >
252
+ </ dl > <!-- net -->
253
+
254
+ < dl id ="net/http "> < dt > < a href ="/pkg/net/http/ "> net/http</ a > </ dt >
255
+ < dd >
256
+ < p > <!-- CL 338590 -->
257
+ TODO: < a href ="https://golang.org/cl/338590 "> https://golang.org/cl/338590</ a > : add Cookie.Valid method
258
+ </ p >
259
+ </ dd >
260
+ </ dl > <!-- net/http -->
261
+
262
+ < dl id ="os/user "> < dt > < a href ="/pkg/os/user/ "> os/user</ a > </ dt >
263
+ < dd >
264
+ < p > <!-- CL 330753 -->
265
+ TODO: < a href ="https://golang.org/cl/330753 "> https://golang.org/cl/330753</ a > : implement go native GroupIds
266
+ </ p >
267
+ </ dd >
268
+ </ dl > <!-- os/user -->
269
+
204
270
< dl id ="reflect "> < dt > < a href ="/pkg/reflect/ "> reflect</ a > </ dt >
205
271
< dd >
206
- < p > <!-- CL 356049, 320929 -->
272
+ < p > <!-- CL 356049, CL 320929 -->
207
273
The new
208
274
< a href ="/pkg/reflect/#Value.SetIterKey "> < code > Value.SetIterKey</ code > </ a >
209
275
and < a href ="/pkg/reflect/#Value.SetIterValue "> < code > Value.SetIterValue</ code > </ a >
210
276
methods set a Value using a map iterator as the source. They are equivalent to
211
277
< code > Value.Set(iter.Key())</ code > and < code > Value.Set(iter.Value())</ code > but
212
278
do fewer allocations.
213
279
</ p >
214
- </ dd >
215
- < dd >
280
+
216
281
< p > <!-- CL 350691 -->
217
282
The new
218
283
< a href ="/pkg/reflect/#Value.UnsafePointer "> < code > Value.UnsafePointer</ code > </ a >
@@ -221,9 +286,69 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
221
286
and < a href ="/pkg/reflect/#Value.Pointer "> < code > Value.Pointer</ code > </ a >
222
287
to eliminate the need to perform uintptr to unsafe.Pointer conversions at the callsite (as unsafe.Pointer rules require).
223
288
</ p >
289
+
290
+ < p > <!-- CL 321889 -->
291
+ TODO: < a href ="https://golang.org/cl/321889 "> https://golang.org/cl/321889</ a > : allocate hiter as part of MapIter
292
+ </ p >
293
+
294
+ < p > <!-- CL 321891 -->
295
+ TODO: < a href ="https://golang.org/cl/321891 "> https://golang.org/cl/321891</ a > : add MapIter.Reset
296
+ </ p >
297
+
298
+ < p > <!-- CL 345486 -->
299
+ TODO: < a href ="https://golang.org/cl/345486 "> https://golang.org/cl/345486</ a > : optimize for maps with string keys
300
+ </ p >
301
+
302
+ < p > <!-- CL 352131 -->
303
+ TODO: < a href ="https://golang.org/cl/352131 "> https://golang.org/cl/352131</ a > : add Value.{CanInt, CanUint, CanFloat, CanComplex}
304
+ </ p >
305
+
306
+ < p > <!-- CL 357962 -->
307
+ TODO: < a href ="https://golang.org/cl/357962 "> https://golang.org/cl/357962</ a > : add FieldByIndexErr
308
+ </ p >
224
309
</ dd >
225
310
</ dl > <!-- reflect -->
226
311
312
+ < dl id ="regexp "> < dt > < a href ="/pkg/regexp/ "> regexp</ a > </ dt >
313
+ < dd >
314
+ < p > <!-- CL 354569 -->
315
+ TODO: < a href ="https://golang.org/cl/354569 "> https://golang.org/cl/354569</ a > : document and implement that invalid UTF-8 bytes are the same as U+FFFD
316
+ </ p >
317
+ </ dd >
318
+ </ dl > <!-- regexp -->
319
+
320
+ < dl id ="strconv "> < dt > < a href ="/pkg/strconv/ "> strconv</ a > </ dt >
321
+ < dd >
322
+ < p > <!-- CL 343877 -->
323
+ TODO: < a href ="https://golang.org/cl/343877 "> https://golang.org/cl/343877</ a > : reject surrogate halves in Unquote
324
+ </ p >
325
+ </ dd >
326
+ </ dl > <!-- strconv -->
327
+
328
+ < dl id ="strings "> < dt > < a href ="/pkg/strings/ "> strings</ a > </ dt >
329
+ < dd >
330
+ < p > <!-- CL 345849 -->
331
+ TODO: < a href ="https://golang.org/cl/345849 "> https://golang.org/cl/345849</ a > : add Clone function
332
+ </ p >
333
+ </ dd >
334
+ </ dl > <!-- strings -->
335
+
336
+ < dl id ="strings,bytes "> < dt > < a href ="/pkg/strings,bytes/ "> strings,bytes</ a > </ dt >
337
+ < dd >
338
+ < p > <!-- CL 332771 -->
339
+ TODO: < a href ="https://golang.org/cl/332771 "> https://golang.org/cl/332771</ a > : avoid allocations in Trim/TrimLeft/TrimRight
340
+ </ p >
341
+ </ dd >
342
+ </ dl > <!-- strings,bytes -->
343
+
344
+ < dl id ="sync "> < dt > < a href ="/pkg/sync/ "> sync</ a > </ dt >
345
+ < dd >
346
+ < p > <!-- CL 319769 -->
347
+ TODO: < a href ="https://golang.org/cl/319769 "> https://golang.org/cl/319769</ a > : add Mutex.TryLock, RWMutex.TryLock, RWMutex.TryRLock
348
+ </ p >
349
+ </ dd >
350
+ </ dl > <!-- sync -->
351
+
227
352
< dl id ="syscall "> < dt > < a href ="/pkg/syscall/ "> syscall</ a > </ dt >
228
353
< dd >
229
354
< p > <!-- CL 336550 -->
@@ -238,5 +363,45 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
238
363
< a href ="/pkg/syscall/?GOOS=windows#Syscall18 "> < code > Syscall18</ code > </ a > are
239
364
deprecated in favor of < a href ="/pkg/syscall/?GOOS=windows#SyscallN "> < code > SyscallN</ code > </ a > .
240
365
</ p >
366
+
367
+ < p > <!-- CL 355570 -->
368
+ TODO: < a href ="https://golang.org/cl/355570 "> https://golang.org/cl/355570</ a > : add support for SysProcAttr.Pdeathsig on FreeBSD
369
+ </ p >
241
370
</ dd >
242
371
</ dl > <!-- syscall -->
372
+
373
+ < dl id ="syscall/js "> < dt > < a href ="/pkg/syscall/js/ "> syscall/js</ a > </ dt >
374
+ < dd >
375
+ < p > <!-- CL 356430 -->
376
+ TODO: < a href ="https://golang.org/cl/356430 "> https://golang.org/cl/356430</ a > : remove Wrapper interface
377
+ </ p >
378
+ </ dd >
379
+ </ dl > <!-- syscall/js -->
380
+
381
+ < dl id ="testing "> < dt > < a href ="/pkg/testing/ "> testing</ a > </ dt >
382
+ < dd >
383
+ < p > <!-- CL 343883 -->
384
+ TODO: < a href ="https://golang.org/cl/343883 "> https://golang.org/cl/343883</ a > : increase alternation precedence
385
+ </ p >
386
+
387
+ < p > <!-- CL 356669 -->
388
+ TODO: < a href ="https://golang.org/cl/356669 "> https://golang.org/cl/356669</ a > : skip extra -count iterations if there are no tests
389
+ </ p >
390
+ </ dd >
391
+ </ dl > <!-- testing -->
392
+
393
+ < dl id ="text/template "> < dt > < a href ="/pkg/text/template/ "> text/template</ a > </ dt >
394
+ < dd >
395
+ < p > <!-- CL 321490 -->
396
+ TODO: < a href ="https://golang.org/cl/321490 "> https://golang.org/cl/321490</ a > : implement short-circuit and, or
397
+ </ p >
398
+ </ dd >
399
+ </ dl > <!-- text/template -->
400
+
401
+ < dl id ="unicode/utf8 "> < dt > < a href ="/pkg/unicode/utf8/ "> unicode/utf8</ a > </ dt >
402
+ < dd >
403
+ < p > <!-- CL 345571 -->
404
+ TODO: < a href ="https://golang.org/cl/345571 "> https://golang.org/cl/345571</ a > : add AppendRune
405
+ </ p >
406
+ </ dd >
407
+ </ dl > <!-- unicode/utf8 -->
0 commit comments