blog: add go1.17.article

For golang/go#47719
Updates golang/go#27155

Change-Id: Ied7ea9213bd318eae7bb327a5fc29c3bc9cc812a
Co-authored-by: Matt Pearring <pearring@users.noreply.github.com>
Reviewed-on: https://go-review.googlesource.com/c/website/+/342589
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Website-Publish: DO NOT USE <dmitshur@google.com>
diff --git a/blog/_content/go1.17.article b/blog/_content/go1.17.article
new file mode 100644
index 0000000..4c0edf3
--- /dev/null
+++ b/blog/_content/go1.17.article
@@ -0,0 +1,49 @@
+# Go 1.17 is released
+16 Aug 2021
+Summary: Go 1.17 adds performance improvements, module optimizations, arm64 on Windows, and more.
+
+Matt Pearring
+
+Alex Rakoczy
+
+##
+
+Today the Go team is thrilled to release Go 1.17, which you can get by visiting the
+[download page](https://golang.org/dl/).
+
+This release brings additional improvements to the compiler, namely a
+[new way of passing function arguments and results](https://golang.org/doc/go1.17#compiler).
+This change has shown about a 5% performance improvement in Go programs and reduction in binary
+sizes of around 2% for amd64 platforms. Support for more platforms will come in future releases.
+
+Go 1.17 also adds support for the
+[64-bit ARM architecture on Windows](https://golang.org/doc/go1.17#ports), letting gophers run
+Go natively on more devices.
+
+We’ve also introduced [pruned module graphs](https://golang.org/doc/go1.17#go-command) in this
+release. Modules that specify `go 1.17` or higher in their `go.mod` file will have their module graphs
+include only the immediate dependencies of other Go 1.17 modules, not their full transitive
+dependencies. This should help avoid the need to download or read `go.mod` files for otherwise
+irrelevant dependencies&#8212;saving time in everyday development.
+
+Go 1.17 comes with three small [changes to the language](https://golang.org/doc/go1.17#language).
+The first two are new functions in the `unsafe` package to make it simpler for programs to conform
+to the `unsafe.Pointer` rules: `unsafe.Add` allows for
+[safer pointer arithmetic](https://golang.org/pkg/unsafe#Add), while `unsafe.Slice` allows for
+[safer conversions of pointers to slices](https://golang.org/pkg/unsafe#Slice). The third change is
+an extension to the language type conversion rules to allow conversions from
+[slices to array pointers](https://golang.org/ref/spec#Conversions_from_slice_to_array_pointer),
+provided the slice is at least as large as the array at runtime.
+
+Finally there are quite a few other improvements and bug fixes, including verification improvements
+to [crypto/x509](https://golang.org/doc/go1.17#crypto/x509), and alterations to
+[URL query parsing](https://golang.org/doc/go1.17#semicolons). For a complete list of changes and
+more information about the improvements above, see the
+[full release notes](https://golang.org/doc/go1.17).
+
+Thanks to everyone who contributed to this release by writing code, filing bugs, sharing feedback,
+and testing the beta and release candidates. Your efforts helped to ensure that Go 1.17 is as stable
+ as possible. As always, if you notice any problems, please
+[file an issue](https://golang.org/issue/new).
+
+We hope you enjoy the new release!