| <!--{ |
| "Title": "Go 1.21 Release Notes", |
| "Path": "/doc/go1.21" |
| }--> |
| |
| <!-- |
| NOTE: In this document and others in this directory, the convention is to |
| set fixed-width phrases with non-fixed-width spaces, as in |
| <code>hello</code> <code>world</code>. |
| Do not send CLs removing the interior tags from such phrases. |
| --> |
| |
| <style> |
| main ul li { margin: 0.5em 0; } |
| </style> |
| |
| <h2 id="introduction">DRAFT RELEASE NOTES — Introduction to Go 1.21</h2> |
| |
| <p> |
| <strong> |
| Go 1.21 is not yet released. These are work-in-progress |
| release notes. Go 1.21 is expected to be released in August 2023. |
| </strong> |
| </p> |
| |
| <h2 id="language">Changes to the language</h2> |
| |
| <p> |
| TODO: complete this section |
| </p> |
| |
| <h2 id="ports">Ports</h2> |
| |
| <p> |
| TODO: complete this section, or delete if not needed |
| </p> |
| |
| <h2 id="tools">Tools</h2> |
| |
| <h3 id="go-command">Go command</h3> |
| |
| <p> |
| TODO: complete this section, or delete if not needed |
| </p> |
| |
| <h2 id="runtime">Runtime</h2> |
| |
| <p> |
| TODO: complete this section, or delete if not needed |
| </p> |
| |
| <p><!-- https://go.dev/issue/7181 --> |
| When printing very deep stacks, the runtime now prints the first 50 |
| (innermost) frames followed by the bottom 50 (outermost) frames, |
| rather than just printing the first 100 frames. This makes it easier |
| to see how deeply recursive stacks started, and is especially |
| valuable for debugging stack overflows. |
| </p> |
| |
| <h2 id="compiler">Compiler</h2> |
| |
| <p> |
| TODO: complete this section, or delete if not needed |
| </p> |
| |
| <h2 id="linker">Linker</h2> |
| |
| <p> |
| TODO: complete this section, or delete if not needed |
| </p> |
| |
| <h2 id="library">Core library</h2> |
| |
| <h3 id="minor_library_changes">Minor changes to the library</h3> |
| |
| <p> |
| As always, there are various minor changes and updates to the library, |
| made with the Go 1 <a href="/doc/go1compat">promise of compatibility</a> |
| in mind. |
| There are also various performance improvements, not enumerated here. |
| </p> |
| |
| <p> |
| TODO: complete this section |
| </p> |
| |
| <dl id="sync"><dt><a href="/pkg/sync/">sync</a></dt> |
| <dd> |
| <p><!-- https://go.dev/issue/56102, CL 451356 --> |
| The new <a href="/pkg/sync/#OnceFunc"><code>OnceFunc</code></a>, |
| <a href="/pkg/sync/#OnceValue"><code>OnceValue</code></a>, and |
| <a href="/pkg/sync/#OnceValues"><code>OnceValues</code></a> |
| functions capture a common use of <a href="/pkg/sync/#Once">Once</a> to |
| lazily initialize a value on first use. |
| </p> |
| </dd> |
| </dl> |