DRAFT RELEASE NOTES — Introduction to Go 1.22

Go 1.22 is not yet released. These are work-in-progress release notes. Go 1.22 is expected to be released in February 2024.

Changes to the language

TODO: complete this section

Tools

Go command

TODO: complete this section, or delete if not needed

Cgo

The special comment that precedes import "C" may now include two new #cgo directives.

See the cgo documentation for more details.

Runtime

TODO: complete this section, or delete if not needed

Compiler

TODO: complete this section, or delete if not needed

Linker

TODO: complete this section, or delete if not needed

Core library

Minor changes to the library

As always, there are various minor changes and updates to the library, made with the Go 1 promise of compatibility in mind. There are also various performance improvements, not enumerated here.

TODO: complete this section

database/sql

The new Null[T] type provide a way to scan nullable columns for any column types.

reflect

The Value.IsZero method will now return true for a floating-point or complex negative zero, and will return true for a struct value if a blank field (a field named _) somehow has a non-zero value. These changes make IsZero consistent with comparing a value to zero using the language == operator.

Ports

TODO: complete this section, or delete if not needed