blog: add Go 1.21 announcement

Change-Id: I66dab03d7ce4a2d5a8cbf759d77a50999a375e3a
Reviewed-on: https://go-review.googlesource.com/c/website/+/512055
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/_content/blog/go1.21.md b/_content/blog/go1.21.md
new file mode 100644
index 0000000..2fc2ff9
--- /dev/null
+++ b/_content/blog/go1.21.md
@@ -0,0 +1,79 @@
+---
+title: Go 1.21 is released!
+date: 2023-08-08
+by:
+- Eli Bendersky, on behalf of the Go team
+summary: Go 1.21 brings language improvements, new standard library packages, PGO GA, backward and forward compatibility in the toolchain and faster builds.
+---
+
+Today the Go team is thrilled to release Go 1.21,
+which you can get by visiting the [download page](/dl/).
+
+Go 1.21 is packed with new features and improvements. Here are some of the
+notable changes; for the full list, refer to the
+[release notes](/doc/go1.21).
+
+## Tool improvements
+
+- The Profile Guided Optimization (PGO) feature we [announced for preview in
+  1.20](/blog/pgo-preview) is now generally available! If a file named
+  `default.pgo` is present in the main package’s directory, the `go` command
+  will use it to enable a PGO build. See the [PGO documentation](/doc/pgo) for
+  more details. We’ve measured the impact of PGO on a wide set of Go programs and
+  see performance improvements of 2-7%.
+- The [`go` tool](/cmd/go) now supports [backward](/doc/godebug)
+  and [forward](/doc/toolchain) language compatibility.
+
+## Language changes
+
+- New built-in functions: [min, max](/ref/spec#Min_and_max)
+  and [clear](/ref/spec#Clear).
+- Several improvements to type inference for generic functions. The description of
+  [type inference in the spec](/ref/spec#Type_inference)
+  has been expanded and clarified.
+- In a future version of Go we’re planning to address one of the most common
+  gotchas of Go programming:
+  [loop variable capture](/wiki/CommonMistakes).
+  Go 1.21 comes with a preview of this feature that you can enable in your code
+  using an environment variable. See [the LoopvarExperiment wiki
+  page](/wiki/LoopvarExperiment) for more details.
+
+## Standard library additions
+
+- New [log/slog](/pkg/log/slog) package for structured logging.
+- New [slices](/pkg/slices) package for common operations
+  on slices of any element type. This includes sorting functions that are generally
+  faster and more ergonomic than the [sort](/pkg/sort) package.
+- New [maps](/pkg/maps) package for common operations on maps
+  of any key or element type.
+- New [cmp](/pkg/cmp) package with new utilities for comparing
+  ordered values.
+
+## Improved performance
+
+In addition to the performance improvements when enabling PGO:
+
+- The Go compiler itself has been rebuilt with PGO enabled for 1.21, and as a
+  result it builds Go programs 2-4% faster, depending on the host architecture.
+- Due to tuning of the garbage collector, some applications may see up to a 40%
+  reduction in tail latency.
+- Collecting traces with [runtime/trace](/pkg/runtime/trace) now
+  incurs a substantially smaller CPU cost on amd64 and arm64.
+
+## A new port to WASI
+
+Go 1.21 adds an experimental port for [WebAssembly System Interface (WASI)](https://wasi.dev/),
+Preview 1 (`GOOS=wasip1`, `GOARCH=wasm`).
+
+To facilitate writing more general WebAssembly (Wasm) code, the compiler also
+supports a new directive for importing functions from the Wasm host:
+`go:wasmimport`.
+
+---
+
+Thanks to everyone who contributed to this release by writing code, filing bugs,
+sharing feedback, and testing the release candidates. Your efforts helped
+to ensure that Go 1.21 is as stable as possible.
+As always, if you notice any problems, please [file an issue](/issue/new).
+
+Enjoy Go 1.21!