From: Austin Clements
- Go now retries system calls that return
+ If
+ On a Unix system, if the
@@ -229,8 +243,14 @@ Do not send CLs removing the interior tags from such phrases.
counts, and has lower worst-case latency.
-TODO
+
+ Converting a small integer value into an interface value no longer
+ causes allocation.
+
+ Non-blocking receives on closed channels now perform as well as
+ non-blocking receives on open channels.
Runtime
-EINTR. This
- became more common in Go 1.14 with the addition of asynchronous
- preemption, but is now handled transparently.
+panic is invoked with a value whose type is derived from any
+ of: bool, complex64, complex128, float32, float64,
+ int, int8, int16, int32, int64, string,
+ uint, uint8, uint16, uint32, uint64, uintptr,
+ then the value will be printed, instead of just its address.
+ Previously, this was only true for values of exactly these types.
+kill command
+ or kill system call is used to send
+ a SIGSEGV, SIGBUS,
+ or SIGFPE signal to a Go program, and if the signal
+ is not being handled via
+ os/signal.Notify,
+ the Go program will now reliably crash with a stack trace.
+ In earlier releases the behavior was unpredictable.
Compiler
@@ -540,6 +560,14 @@ TODO
which Timeout returns true although a
deadline has not been exceeded.
+ Packages os and net now automatically
+ retry system calls that fail with EINTR. Previously
+ this led to spurious failures, which became more common in Go
+ 1.14 with the addition of asynchronous preemption. Now this is
+ handled transparently.
+
- Package reflect now disallows accessing methods of all
+ Package reflect now disallows accessing methods of all
non-exported fields, whereas previously it allowed accessing
those of non-exported, embedded fields. Code that relies on the
previous behavior should be updated to instead access the
@@ -580,26 +608,6 @@ TODO
- If panic is invoked with a value whose type is derived from any
- of: bool, complex64, complex128, float32, float64,
- int, int8, int16, int32, int64, string,
- uint, uint8, uint16, uint32, uint64, uintptr,
- then the value will be printed, instead of just its address.
- Previously, this was only true for values of exactly these types.
-
- On a Unix system, if the kill command
- or kill system call is used to send
- a SIGSEGV, SIGBUS,
- or SIGFPE signal to a Go program, and if the signal
- is not being handled via
- os/signal.Notify,
- the Go program will now reliably crash with a stack trace.
- In earlier releases the behavior was unpredictable.
-
Several functions, including
ReadMemStats
@@ -607,16 +615,6 @@ TODO
GoroutineProfile,
no longer block if a garbage collection is in progress.
- Converting small integer values into an interface value no - longer causes allocation. -
- -- Non-blocking receives on closed channels now perform as well as - non-blocking receives on open channels. -