| <!--{ | |
| "Title": "Go 1.18 Release Notes", | |
| "Path": "/doc/go1.18" | |
| }--> | |
| <!-- | |
| 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.18</h2> | |
| <p> | |
| <strong> | |
| Go 1.18 is not yet released. These are work-in-progress | |
| release notes. Go 1.18 is expected to be released in February 2022. | |
| </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> | |
| <p> | |
| TODO: complete this section, or delete if not needed | |
| </p> | |
| <h3 id="go-command">Go command</h3> | |
| <p> | |
| TODO: complete this section, or delete if not needed | |
| </p> | |
| <h3 id="gofmt"><code>gofmt</code></h3> | |
| <p><!-- https://golang.org/issue/43566 --> | |
| <code>gofmt</code> now reads and formats input files concurrently, with a | |
| memory limit proportional to <code>GOMAXPROCS</code>. On a machine with | |
| multiple CPUs, gofmt should now be significantly faster. | |
| </p> | |
| <h2 id="runtime">Runtime</h2> | |
| <p> | |
| TODO: complete this section, or delete if not needed | |
| </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> | |
| <p> | |
| TODO: complete this section | |
| </p> | |
| <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. | |
| </p> | |
| <p> | |
| TODO: complete this section | |
| </p> | |
| <dl id="image/draw"><dt><a href="/pkg/image/draw/">image/draw</a></dt> | |
| <dd> | |
| <p><!-- CL 340049 --> | |
| The <code>Draw</code> and <code>DrawMask</code> fallback implementations | |
| (used when the arguments are not the most common image types) are now | |
| faster when those arguments implement the optional | |
| <a href="/pkg/image/draw/#RGBA64Image"><code>draw.RGBA64Image</code></a> | |
| and <a href="/pkg/image/#RGBA64Image"><code>image.RGBA64Image</code></a> | |
| interfaces that were added in Go 1.17. | |
| </p> | |
| </dd> | |
| </dl><!-- image/draw --> | |
| <dl id="syscall"><dt><a href="/pkg/syscall/">syscall</a></dt> | |
| <dd> | |
| <p><!-- CL 336550 --> | |
| The new function <a href="/pkg/syscall/?GOOS=windows#SyscallN"><code>SyscallN</code></a> | |
| has been introduced for Windows, allowing for calls with arbitrary number | |
| of arguments. As results, | |
| <a href="/pkg/syscall/?GOOS=windows#Syscall"><code>Syscall</code></a>, | |
| <a href="/pkg/syscall/?GOOS=windows#Syscall6"><code>Syscall6</code></a>, | |
| <a href="/pkg/syscall/?GOOS=windows#Syscall9"><code>Syscall9</code></a>, | |
| <a href="/pkg/syscall/?GOOS=windows#Syscall12"><code>Syscall12</code></a>, | |
| <a href="/pkg/syscall/?GOOS=windows#Syscall15"><code>Syscall15</code></a>, and | |
| <a href="/pkg/syscall/?GOOS=windows#Syscall18"><code>Syscall18</code></a> are | |
| deprecated in favor of <a href="/pkg/syscall/?GOOS=windows#SyscallN"><code>SyscallN</code></a>. | |
| </p> | |
| </dd> | |
| </dl><!-- syscall --> |