internal/history: split Release summary into bug and security fixes
Make it possible to use the higher-level fix summary fields, instead of
CustomSummary, when a release has both bug fixes and security fixes.
Rewrite the recent hand-written custom summaries to use the new fields,
which produces equivalent output that differs largely in white-space
and some trivial consistency fixes.
Fixes golang/go#51719.
Updates golang/go#38488.
Updates golang/go#44918.
Change-Id: I672cea21f63cb4ab9764efb6cbc783cf503b791c
Reviewed-on: https://go-review.googlesource.com/c/website/+/393357
Trust: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Carlos Amedee <amedee@google.com>
diff --git a/_content/doc/devel/release.html b/_content/doc/devel/release.html
index 499de9d..6e5b056 100644
--- a/_content/doc/devel/release.html
+++ b/_content/doc/devel/release.html
@@ -43,10 +43,20 @@
{{.}}
{{else}}
{{if .Future}}will include{{else}}includes{{end}}
- {{.Quantifier}}
- {{if .Security}}security{{end}}
- {{if eq .Quantifier "a"}}fix{{else}}fixes{{end -}}
- {{with .ComponentsAndPackages}} to {{.}}{{end}}.
+ {{with .Security}}
+ {{.Quantifier}}
+ security
+ {{if eq .Quantifier "a"}}fix{{else}}fixes{{end -}}
+ {{with .ComponentsAndPackages}} to {{.}}{{end -}}
+ {{end}}
+ {{- if and .Security .Bug}}, as well as{{end -}}
+ {{if .Bug}}
+ {{.Bug.Quantifier}}
+ {{if .Security}}bug{{end}} {{/* If there are security fixes too, specify that what follows are bug fixes. */}}
+ {{if eq .Bug.Quantifier "a"}}fix{{else}}fixes{{end -}}
+ {{with .Bug.ComponentsAndPackages}} to {{.}}{{end -}}
+ {{end}}
+ {{- if or .Security .Bug}}.{{end}}
{{.More}}
{{if not .Future}}
diff --git a/cmd/golangorg/testdata/release.txt b/cmd/golangorg/testdata/release.txt
index fd066b4..55c9c20 100644
--- a/cmd/golangorg/testdata/release.txt
+++ b/cmd/golangorg/testdata/release.txt
@@ -10,25 +10,39 @@
<p>
go1.17.1
(released 2021-09-09)
- includes a security fix to the <code>archive/zip</code> package,
- as well as bug fixes to the compiler, linker, the <code>go</code> command, and to the <code>crypto/rand</code>, <code>embed</code>, <code>go/types</code>, <code>html/template</code>, and <code>net/http</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.1+label%3ACherryPickApproved">Go
- 1.17.1 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>archive/zip</code> package, as well as
+ bug
+ fixes to the compiler, linker, the <code>go</code> command, and the <code>crypto/rand</code>, <code>embed</code>, <code>go/types</code>, <code>html/template</code>, and <code>net/http</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.1+label%3ACherryPickApproved">Go 1.17.1 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.17.2
(released 2021-10-07)
- includes a security fix to the linker and <code>misc/wasm</code> directory,
- as well as bug fixes to the compiler, the runtime, the <code>go</code> command, and to the <code>time</code> and <code>text/template</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.2+label%3ACherryPickApproved">Go
- 1.17.2 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to linker and the <code>misc/wasm</code> directory, as well as
+ bug
+ fixes to the compiler, runtime, the <code>go</code> command, and the <code>text/template</code> and <code>time</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.2+label%3ACherryPickApproved">Go 1.17.2 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.17.3
(released 2021-11-04)
- includes security fixes to the <code>archive/zip</code> and <code>debug/macho</code> packages,
- as well as bug fixes to the compiler, linker, runtime, the <code>go</code> command, the <code>misc/wasm</code> directory, and to the <code>net/http</code> and <code>syscall</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.3+label%3ACherryPickApproved">Go 1.17.3 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>archive/zip</code> and <code>debug/macho</code> packages, as well as
+ bug
+ fixes to the compiler, linker, runtime, the <code>go</code> command, the <code>misc/wasm</code> directory, and the <code>net/http</code> and <code>syscall</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.3+label%3ACherryPickApproved">Go 1.17.3 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.17.4
@@ -42,8 +56,12 @@
<p>
go1.17.5
(released 2021-12-09)
- includes security fixes to the <code>syscall</code> and <code>net/http</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.5+label%3ACherryPickApproved">Go 1.17.5 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>net/http</code> and <code>syscall</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.5+label%3ACherryPickApproved">Go 1.17.5 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.17.6
@@ -57,14 +75,27 @@
<p>
go1.17.7
(released 2022-02-10)
- includes security fixes to the <code>crypto/elliptic</code>, <code>math/big</code> packages and to the <code>go</code> command, as well as bug fixes to the compiler, linker, runtime, the <code>go</code> command, and the <code>debug/macho</code>, <code>debug/pe</code>, and <code>net/http/httptest</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.7+label%3ACherryPickApproved">Go 1.17.7 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>go</code> command, and the <code>crypto/elliptic</code> and <code>math/big</code> packages, as well as
+ bug
+ fixes to the compiler, linker, runtime, the <code>go</code> command, and the <code>debug/macho</code>, <code>debug/pe</code>, and <code>net/http/httptest</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.7+label%3ACherryPickApproved">Go 1.17.7 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.17.8
(released 2022-03-03)
- includes a security fix to the <code>regexp/syntax</code> package, as well as bug fixes to the compiler, runtime, the <code>go</code> command, and the <code>crypto/x509</code>, and <code>net</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.8+label%3ACherryPickApproved">Go 1.17.8 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>regexp/syntax</code> package, as well as
+ bug
+ fixes to the compiler, runtime, the <code>go</code> command, and the <code>crypto/x509</code> and <code>net</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.8+label%3ACherryPickApproved">Go 1.17.8 milestone</a>
+ on our issue tracker for details.
</p>
trimbody contains
<h2 id="go1.16">go1.16 (released 2021-02-16)</h2>
@@ -104,63 +135,90 @@
<p>
go1.16.4
(released 2021-05-06)
- includes a security fix to the
- <code>net/http</code> package, as well as bug fixes to the runtime,
- the compiler, and the <code>archive/zip</code>, <code>time</code>,
- and <code>syscall</code> packages. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.4+label%3ACherryPickApproved">Go
- 1.16.4 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>net/http</code> package, as well as
+ bug
+ fixes to the compiler, runtime, and the <code>archive/zip</code>, <code>syscall</code>, and <code>time</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.4+label%3ACherryPickApproved">Go 1.16.4 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.5
(released 2021-06-03)
- includes security fixes to the
- <code>archive/zip</code>, <code>math/big</code>,
- <code>net</code>, and <code>net/http/httputil</code> packages,
- as well as bug fixes to the linker, the <code>go</code> command,
- and the <code>net/http</code> package. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.5+label%3ACherryPickApproved">Go
- 1.16.5 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>archive/zip</code>, <code>math/big</code>, <code>net</code>, and <code>net/http/httputil</code> packages, as well as
+ bug
+ fixes to the linker, the <code>go</code> command, and the <code>net/http</code> package.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.5+label%3ACherryPickApproved">Go 1.16.5 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.6
(released 2021-07-12)
- includes a security fix to the <code>crypto/tls</code> package,
- as well as bug fixes to the compiler, and the <code>net</code> and <code>net/http</code> packages. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.6+label%3ACherryPickApproved">Go
- 1.16.6 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>crypto/tls</code> package, as well as
+ bug
+ fixes to the compiler, and the <code>net</code> and <code>net/http</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.6+label%3ACherryPickApproved">Go 1.16.6 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.7
(released 2021-08-05)
- includes a security fix to the <code>net/http/httputil</code> package,
- as well as bug fixes to the compiler, the linker, the runtime, the <code>go</code> command,
- and the <code>net/http</code> package. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.7+label%3ACherryPickApproved">Go
- 1.16.7 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>net/http/httputil</code> package, as well as
+ bug
+ fixes to the compiler, linker, runtime, the <code>go</code> command, and the <code>net/http</code> package.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.7+label%3ACherryPickApproved">Go 1.16.7 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.8
(released 2021-09-09)
- includes a security fix to the <code>archive/zip</code> package,
- as well as bug fixes to the <code>archive/zip</code>, <code>go/internal/gccgoimporter</code>, <code>html/template</code>, <code>net/http</code>, and <code>runtime/pprof</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.8+label%3ACherryPickApproved">Go
- 1.16.8 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>archive/zip</code> package, as well as
+ bug
+ fixes to the <code>archive/zip, go/internal/gccgoimporter</code>, <code>html/template</code>, <code>net/http</code>, and <code>runtime/pprof</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.8+label%3ACherryPickApproved">Go 1.16.8 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.9
(released 2021-10-07)
- includes a security fix to the linker and <code>misc/wasm</code> directory,
- as well as bug fixes to the runtime and to the <code>text/template</code> package.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.9+label%3ACherryPickApproved">Go
- 1.16.9 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to linker and the <code>misc/wasm</code> directory, as well as
+ bug
+ fixes to runtime and the <code>text/template</code> package.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.9+label%3ACherryPickApproved">Go 1.16.9 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.10
(released 2021-11-04)
- includes security fixes to the <code>archive/zip</code> and <code>debug/macho</code> packages,
- as well as bug fixes to the compiler, linker, runtime, the <code>misc/wasm</code> directory, and to the <code>net/http</code> package.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.10+label%3ACherryPickApproved">Go 1.16.10 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>archive/zip</code> and <code>debug/macho</code> packages, as well as
+ bug
+ fixes to the compiler, linker, runtime, the <code>misc/wasm</code> directory, and the <code>net/http</code> package.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.10+label%3ACherryPickApproved">Go 1.16.10 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.11
@@ -174,8 +232,12 @@
<p>
go1.16.12
(released 2021-12-09)
- includes security fixes to the <code>syscall</code> and <code>net/http</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.12+label%3ACherryPickApproved">Go 1.16.12 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>net/http</code> and <code>syscall</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.12+label%3ACherryPickApproved">Go 1.16.12 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.13
@@ -189,14 +251,27 @@
<p>
go1.16.14
(released 2022-02-10)
- includes security fixes to the <code>crypto/elliptic</code>, <code>math/big</code> packages and to the <code>go</code> command, as well as bug fixes to the compiler, linker, runtime, the <code>go</code> command, and the <code>debug/macho</code>, <code>debug/pe</code>, <code>net/http/httptest</code>, and <code>testing</code> packages.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.14+label%3ACherryPickApproved">Go 1.16.14 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>go</code> command, and the <code>crypto/elliptic</code> and <code>math/big</code> packages, as well as
+ bug
+ fixes to the compiler, linker, runtime, the <code>go</code> command, and the <code>debug/macho</code>, <code>debug/pe</code>, <code>net/http/httptest</code>, and <code>testing</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.14+label%3ACherryPickApproved">Go 1.16.14 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.16.15
(released 2022-03-03)
- includes a security fix to the <code>regexp/syntax</code> package, as well as bug fixes to the compiler, runtime, the <code>go</code> command, and to the <code>net</code> package.
- See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.15+label%3ACherryPickApproved">Go 1.16.15 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>regexp/syntax</code> package, as well as
+ bug
+ fixes to the compiler, runtime, the <code>go</code> command, and the <code>net</code> package.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.15+label%3ACherryPickApproved">Go 1.16.15 milestone</a>
+ on our issue tracker for details.
</p>
<h2 id="go1.15">go1.15 (released 2020-08-11)</h2>
<p>
@@ -310,40 +385,53 @@
<p>
go1.15.12
(released 2021-05-06)
- includes a security fix to the
- <code>net/http</code> package, as well as bug fixes to the runtime,
- the compiler, and the <code>archive/zip</code>, <code>time</code>,
- and <code>syscall</code> packages. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.12+label%3ACherryPickApproved">Go
- 1.15.12 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>net/http</code> package, as well as
+ bug
+ fixes to the compiler, runtime, and the <code>archive/zip</code>, <code>syscall</code>, and <code>time</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.12+label%3ACherryPickApproved">Go 1.15.12 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.15.13
(released 2021-06-03)
- includes security fixes to the
- <code>archive/zip</code>, <code>math/big</code>,
- <code>net</code>, and <code>net/http/httputil</code> packages,
- as well as bug fixes to the linker, the <code>go</code> command,
- and the <code>math/big</code> and <code>net/http</code> packages. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.13+label%3ACherryPickApproved">Go
- 1.15.13 milestone</a> on our issue tracker for details.
+ includes
+ security
+ fixes to the <code>archive/zip</code>, <code>math/big</code>, <code>net</code>, and <code>net/http/httputil</code> packages, as well as
+ bug
+ fixes to the linker, the <code>go</code> command, and the <code>math/big</code> and <code>net/http</code> packages.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.13+label%3ACherryPickApproved">Go 1.15.13 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.15.14
(released 2021-07-12)
- includes a security fix to the <code>crypto/tls</code> package,
- as well as bug fixes to the linker, and the <code>net</code> package. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.14+label%3ACherryPickApproved">Go
- 1.15.14 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>crypto/tls</code> package, as well as
+ bug
+ fixes to the linker and the <code>net</code> package.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.14+label%3ACherryPickApproved">Go 1.15.14 milestone</a>
+ on our issue tracker for details.
</p>
<p>
go1.15.15
(released 2021-08-05)
- includes a security fix to the <code>net/http/httputil</code> package,
- as well as bug fixes to the compiler, the runtime, the <code>go</code> command, and the
- <code>net/http</code> package. See the
- <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.15+label%3ACherryPickApproved">Go
- 1.15.15 milestone</a> on our issue tracker for details.
+ includes
+ a
+ security
+ fix to the <code>net/http/httputil</code> package, as well as
+ bug
+ fixes to the compiler, runtime, the <code>go</code> command, and the <code>net/http</code> package.
+ See the
+ <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.15+label%3ACherryPickApproved">Go 1.15.15 milestone</a>
+ on our issue tracker for details.
</p>
<h2 id="go1.14">go1.14 (released 2020-02-25)</h2>
<p>
@@ -521,7 +609,7 @@
go1.13.3
(released 2019-10-17)
includes
- fixes to the go command, the toolchain, the runtime, and the <code>syscall</code>, <code>net</code>, <code>net/http</code>, and <code>crypto/ecdsa</code> packages.
+ fixes to the go command, the toolchain, the runtime, and the <code>crypto/ecdsa</code>, <code>net</code>, <code>net/http</code>, and <code>syscall</code> packages.
See the
<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.13.3+label%3ACherryPickApproved">Go 1.13.3 milestone</a>
on our issue tracker for details.
@@ -722,7 +810,7 @@
go1.12.9
(released 2019-08-15)
includes
- fixes to the linker, and the <code>os</code> and <code>math/big</code> packages.
+ fixes to the linker, and the <code>math/big</code> and <code>os</code> packages.
See the
<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.9+label%3ACherryPickApproved">Go 1.12.9 milestone</a>
on our issue tracker for details.
@@ -751,7 +839,7 @@
go1.12.12
(released 2019-10-17)
includes
- fixes to the go command, runtime, and the <code>syscall</code> and <code>net</code> packages.
+ fixes to the go command, runtime, and the <code>net</code> and <code>syscall</code> packages.
See the
<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.12+label%3ACherryPickApproved">Go 1.12.12 milestone</a>
on our issue tracker for details.
@@ -843,7 +931,7 @@
go1.11.4
(released 2018-12-14)
includes
- fixes to cgo, the compiler, linker, runtime, documentation, go command, and the <code>net/http</code> and <code>go/types</code> packages.
+ fixes to cgo, the compiler, linker, runtime, documentation, go command, and the <code>go/types</code> and <code>net/http</code> packages.
It includes a fix to a bug introduced in Go 1.11.3 that broke <code>go</code>
<code>get</code> for import path patterns containing "<code>...</code>".
See the
@@ -972,7 +1060,7 @@
go1.10.4
(released 2018-08-24)
includes
- fixes to the go command, linker, and the <code>net/http</code>, <code>mime/multipart</code>, <code>ld/macho</code>, <code>bytes</code>, and <code>strings</code> packages.
+ fixes to the go command, linker, and the <code>bytes</code>, <code>mime/multipart</code>, <code>net/http</code>, and <code>strings</code> packages.
See the
<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.4+label%3ACherryPickApproved">Go 1.10.4 milestone</a>
on our issue tracker for details.
diff --git a/internal/history/history.go b/internal/history/history.go
index 42aabf2..4a2d985 100644
--- a/internal/history/history.go
+++ b/internal/history/history.go
@@ -17,17 +17,22 @@
// A Release describes a single Go release.
type Release struct {
- Version Version
- Date Date
- Security bool // whether this is a security release
- Future bool // if true, the release hasn't happened yet
+ Version Version
+ Date Date
+ Future bool // if true, the release hasn't happened yet
// Release content summary.
- Quantifier string // Optional quantifier. Empty string for unspecified amount of fixes (typical), "a" for a single fix, "two", "three" for multiple fixes, etc.
- Components []template.HTML // Components involved. For example, "cgo", "the <code>go</code> command", "the runtime", etc.
- Packages []string // Packages involved. For example, "net/http", "crypto/x509", etc.
- More template.HTML // Additional release content.
- CustomSummary template.HTML // CustomSummary, if non-empty, replaces the entire release content summary with custom HTML.
+ Security *FixSummary // Security fixes, if any.
+ Bug *FixSummary // Bug fixes, if any.
+ More template.HTML // Additional release content.
+ CustomSummary template.HTML // CustomSummary, if non-empty, replaces the entire release content summary with custom HTML.
+}
+
+// FixSummary summarizes fixes in a Go release, listing components and packages involved.
+type FixSummary struct {
+ Quantifier string // Optional quantifier. Empty string for unspecified amount of fixes (typical), "a" for a single fix, "two", "three" for multiple fixes, etc.
+ Components []template.HTML // Components involved. For example, "cgo", "the compiler", "runtime", "the <code>go</code> command", etc.
+ Packages []string // Packages involved. For example, "crypto/x509", "net/http", etc.
}
// A Version is a Go release version.
@@ -58,6 +63,7 @@
}
}
+// Before reports whether version v comes before version u.
func (v Version) Before(u Version) bool {
if v.X != u.X {
return v.X < u.X
@@ -153,19 +159,19 @@
// c1, and [2 or more packages]
// c1, c2, and [1 or more packages]
//
-func (r *Release) ComponentsAndPackages() template.HTML {
+func (f *FixSummary) ComponentsAndPackages() template.HTML {
var buf strings.Builder
// List components, if any.
- for i, comp := range r.Components {
- if len(r.Packages) == 0 {
+ for i, comp := range f.Components {
+ if len(f.Packages) == 0 {
// No packages, so components are joined with more rules.
switch {
- case i != 0 && len(r.Components) == 2:
+ case i != 0 && len(f.Components) == 2:
buf.WriteString(" and ")
- case i != 0 && len(r.Components) >= 3 && i != len(r.Components)-1:
+ case i != 0 && len(f.Components) >= 3 && i != len(f.Components)-1:
buf.WriteString(", ")
- case i != 0 && len(r.Components) >= 3 && i == len(r.Components)-1:
+ case i != 0 && len(f.Components) >= 3 && i == len(f.Components)-1:
buf.WriteString(", and ")
}
} else {
@@ -178,32 +184,32 @@
}
// Join components and packages using a comma and/or "and" as needed.
- if len(r.Components) > 0 && len(r.Packages) > 0 {
- if len(r.Components)+len(r.Packages) >= 3 {
+ if len(f.Components) > 0 && len(f.Packages) > 0 {
+ if len(f.Components)+len(f.Packages) >= 3 {
buf.WriteString(",")
}
buf.WriteString(" and ")
}
// List packages, if any.
- if len(r.Packages) > 0 {
+ if len(f.Packages) > 0 {
buf.WriteString("the ")
}
- for i, pkg := range r.Packages {
+ for i, pkg := range f.Packages {
switch {
- case i != 0 && len(r.Packages) == 2:
+ case i != 0 && len(f.Packages) == 2:
buf.WriteString(" and ")
- case i != 0 && len(r.Packages) >= 3 && i != len(r.Packages)-1:
+ case i != 0 && len(f.Packages) >= 3 && i != len(f.Packages)-1:
buf.WriteString(", ")
- case i != 0 && len(r.Packages) >= 3 && i == len(r.Packages)-1:
+ case i != 0 && len(f.Packages) >= 3 && i == len(f.Packages)-1:
buf.WriteString(", and ")
}
buf.WriteString("<code>" + html.EscapeString(pkg) + "</code>")
}
switch {
- case len(r.Packages) == 1:
+ case len(f.Packages) == 1:
buf.WriteString(" package")
- case len(r.Packages) >= 2:
+ case len(f.Packages) >= 2:
buf.WriteString(" packages")
}
diff --git a/internal/history/release.go b/internal/history/release.go
index a76ffb3..94c6a0d 100644
--- a/internal/history/release.go
+++ b/internal/history/release.go
@@ -19,386 +19,481 @@
},
{
Date: Date{2022, 3, 3}, Version: Version{1, 17, 8},
- CustomSummary: `includes a security fix to the <code>regexp/syntax</code> package, as well as bug fixes to the compiler, runtime, the <code>go</code> command, and the <code>crypto/x509</code>, and <code>net</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.8+label%3ACherryPickApproved">Go 1.17.8 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"regexp/syntax"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
+ Packages: []string{"crypto/x509", "net"},
+ },
},
{
Date: Date{2022, 3, 3}, Version: Version{1, 16, 15},
- CustomSummary: `includes a security fix to the <code>regexp/syntax</code> package, as well as bug fixes to the compiler, runtime, the <code>go</code> command, and to the <code>net</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.15+label%3ACherryPickApproved">Go 1.16.15 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"regexp/syntax"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
+ Packages: []string{"net"},
+ },
},
{
Date: Date{2022, 2, 10}, Version: Version{1, 17, 7},
- CustomSummary: `includes security fixes to the <code>crypto/elliptic</code>, <code>math/big</code> packages and to the <code>go</code> command, as well as bug fixes to the compiler, linker, runtime, the <code>go</code> command, and the <code>debug/macho</code>, <code>debug/pe</code>, and <code>net/http/httptest</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.7+label%3ACherryPickApproved">Go 1.17.7 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> command"},
+ Packages: []string{"crypto/elliptic", "math/big"},
+ },
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
+ Packages: []string{"debug/macho", "debug/pe", "net/http/httptest"},
+ },
},
{
Date: Date{2022, 2, 10}, Version: Version{1, 16, 14},
- CustomSummary: `includes security fixes to the <code>crypto/elliptic</code>, <code>math/big</code> packages and to the <code>go</code> command, as well as bug fixes to the compiler, linker, runtime, the <code>go</code> command, and the <code>debug/macho</code>, <code>debug/pe</code>, <code>net/http/httptest</code>, and <code>testing</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.14+label%3ACherryPickApproved">Go 1.16.14 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> command"},
+ Packages: []string{"crypto/elliptic", "math/big"},
+ },
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
+ Packages: []string{"debug/macho", "debug/pe", "net/http/httptest", "testing"},
+ },
},
{
Date: Date{2022, 1, 6}, Version: Version{1, 17, 6},
- Components: []template.HTML{"the compiler", "linker", "runtime"},
- Packages: []string{"crypto/x509", "net/http", "reflect"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime"},
+ Packages: []string{"crypto/x509", "net/http", "reflect"},
+ },
},
{
Date: Date{2022, 1, 6}, Version: Version{1, 16, 13},
- Components: []template.HTML{"the compiler", "linker", "runtime"},
- Packages: []string{"net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2021, 12, 9}, Version: Version{1, 17, 5},
- CustomSummary: `includes security fixes to the <code>syscall</code> and <code>net/http</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.5+label%3ACherryPickApproved">Go 1.17.5 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Packages: []string{"net/http", "syscall"}},
},
{
Date: Date{2021, 12, 9}, Version: Version{1, 16, 12},
- CustomSummary: `includes security fixes to the <code>syscall</code> and <code>net/http</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.12+label%3ACherryPickApproved">Go 1.16.12 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Packages: []string{"net/http", "syscall"}},
},
{
Date: Date{2021, 12, 2}, Version: Version{1, 17, 4},
- Components: []template.HTML{"the compiler", "linker", "runtime"},
- Packages: []string{"go/types", "net/http", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime"},
+ Packages: []string{"go/types", "net/http", "time"},
+ },
},
{
Date: Date{2021, 12, 2}, Version: Version{1, 16, 11},
- Components: []template.HTML{"the compiler", "runtime"},
- Packages: []string{"net/http", "net/http/httptest", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime"},
+ Packages: []string{"net/http", "net/http/httptest", "time"},
+ },
},
{
Date: Date{2021, 11, 4}, Version: Version{1, 17, 3},
- CustomSummary: `includes security fixes to the <code>archive/zip</code> and <code>debug/macho</code> packages,
-as well as bug fixes to the compiler, linker, runtime, the <code>go</code> command, the <code>misc/wasm</code> directory, and to the <code>net/http</code> and <code>syscall</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.3+label%3ACherryPickApproved">Go 1.17.3 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Packages: []string{"archive/zip", "debug/macho"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command", "the <code>misc/wasm</code> directory"},
+ Packages: []string{"net/http", "syscall"},
+ },
},
{
Date: Date{2021, 11, 4}, Version: Version{1, 16, 10},
- CustomSummary: `includes security fixes to the <code>archive/zip</code> and <code>debug/macho</code> packages,
-as well as bug fixes to the compiler, linker, runtime, the <code>misc/wasm</code> directory, and to the <code>net/http</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.10+label%3ACherryPickApproved">Go 1.16.10 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Packages: []string{"archive/zip", "debug/macho"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>misc/wasm</code> directory"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2021, 10, 7}, Version: Version{1, 17, 2},
- CustomSummary: `includes a security fix to the linker and <code>misc/wasm</code> directory,
-as well as bug fixes to the compiler, the runtime, the <code>go</code> command, and to the <code>time</code> and <code>text/template</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.2+label%3ACherryPickApproved">Go
-1.17.2 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Components: []template.HTML{"linker", "the <code>misc/wasm</code> directory"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
+ Packages: []string{"text/template", "time"},
+ },
},
{
Date: Date{2021, 10, 7}, Version: Version{1, 16, 9},
- CustomSummary: `includes a security fix to the linker and <code>misc/wasm</code> directory,
-as well as bug fixes to the runtime and to the <code>text/template</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.9+label%3ACherryPickApproved">Go
-1.16.9 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Components: []template.HTML{"linker", "the <code>misc/wasm</code> directory"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"runtime"},
+ Packages: []string{"text/template"},
+ },
},
{
Date: Date{2021, 9, 9}, Version: Version{1, 17, 1},
- CustomSummary: `includes a security fix to the <code>archive/zip</code> package,
-as well as bug fixes to the compiler, linker, the <code>go</code> command, and to the <code>crypto/rand</code>, <code>embed</code>, <code>go/types</code>, <code>html/template</code>, and <code>net/http</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.17.1+label%3ACherryPickApproved">Go
-1.17.1 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"archive/zip"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "the <code>go</code> command"},
+ Packages: []string{"crypto/rand", "embed", "go/types", "html/template", "net/http"},
+ },
},
{
Date: Date{2021, 9, 9}, Version: Version{1, 16, 8},
- CustomSummary: `includes a security fix to the <code>archive/zip</code> package,
-as well as bug fixes to the <code>archive/zip</code>, <code>go/internal/gccgoimporter</code>, <code>html/template</code>, <code>net/http</code>, and <code>runtime/pprof</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.8+label%3ACherryPickApproved">Go
-1.16.8 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"archive/zip"}},
+ Bug: &FixSummary{
+ Packages: []string{"archive/zip, go/internal/gccgoimporter", "html/template", "net/http", "runtime/pprof"},
+ },
},
{
Date: Date{2021, 8, 16}, Version: Version{1, 17, 0},
},
{
Date: Date{2021, 8, 5}, Version: Version{1, 16, 7},
- CustomSummary: `includes a security fix to the <code>net/http/httputil</code> package,
-as well as bug fixes to the compiler, the linker, the runtime, the <code>go</code> command,
-and the <code>net/http</code> package. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.7+label%3ACherryPickApproved">Go
-1.16.7 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"net/http/httputil"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2021, 8, 5}, Version: Version{1, 15, 15},
- CustomSummary: `includes a security fix to the <code>net/http/httputil</code> package,
-as well as bug fixes to the compiler, the runtime, the <code>go</code> command, and the
-<code>net/http</code> package. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.15+label%3ACherryPickApproved">Go
-1.15.15 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"net/http/httputil"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2021, 7, 12}, Version: Version{1, 16, 6},
- CustomSummary: `includes a security fix to the <code>crypto/tls</code> package,
-as well as bug fixes to the compiler, and the <code>net</code> and <code>net/http</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.6+label%3ACherryPickApproved">Go
-1.16.6 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"crypto/tls"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler"},
+ Packages: []string{"net", "net/http"},
+ },
},
{
Date: Date{2021, 7, 12}, Version: Version{1, 15, 14},
- CustomSummary: `includes a security fix to the <code>crypto/tls</code> package,
-as well as bug fixes to the linker, and the <code>net</code> package. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.14+label%3ACherryPickApproved">Go
-1.15.14 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"crypto/tls"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the linker"},
+ Packages: []string{"net"},
+ },
},
{
Date: Date{2021, 6, 3}, Version: Version{1, 16, 5},
- CustomSummary: `includes security fixes to the
-<code>archive/zip</code>, <code>math/big</code>,
-<code>net</code>, and <code>net/http/httputil</code> packages,
-as well as bug fixes to the linker, the <code>go</code> command,
-and the <code>net/http</code> package. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.5+label%3ACherryPickApproved">Go
-1.16.5 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Packages: []string{"archive/zip", "math/big", "net", "net/http/httputil"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the linker", "the <code>go</code> command"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2021, 6, 3}, Version: Version{1, 15, 13},
- CustomSummary: `includes security fixes to the
-<code>archive/zip</code>, <code>math/big</code>,
-<code>net</code>, and <code>net/http/httputil</code> packages,
-as well as bug fixes to the linker, the <code>go</code> command,
-and the <code>math/big</code> and <code>net/http</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.13+label%3ACherryPickApproved">Go
-1.15.13 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Packages: []string{"archive/zip", "math/big", "net", "net/http/httputil"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the linker", "the <code>go</code> command"},
+ Packages: []string{"math/big", "net/http"},
+ },
},
{
Date: Date{2021, 5, 6}, Version: Version{1, 16, 4},
- CustomSummary: `includes a security fix to the
-<code>net/http</code> package, as well as bug fixes to the runtime,
-the compiler, and the <code>archive/zip</code>, <code>time</code>,
-and <code>syscall</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.16.4+label%3ACherryPickApproved">Go
-1.16.4 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"net/http"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime"},
+ Packages: []string{"archive/zip", "syscall", "time"},
+ },
},
{
Date: Date{2021, 5, 6}, Version: Version{1, 15, 12},
- CustomSummary: `includes a security fix to the
-<code>net/http</code> package, as well as bug fixes to the runtime,
-the compiler, and the <code>archive/zip</code>, <code>time</code>,
-and <code>syscall</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.15.12+label%3ACherryPickApproved">Go
-1.15.12 milestone</a> on our issue tracker for details.`,
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"net/http"}},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime"},
+ Packages: []string{"archive/zip", "syscall", "time"},
+ },
},
{
Date: Date{2021, 4, 1}, Version: Version{1, 16, 3},
- Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
- Packages: []string{"testing", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
+ Packages: []string{"testing", "time"},
+ },
},
{
Date: Date{2021, 4, 1}, Version: Version{1, 15, 11},
- Components: []template.HTML{"cgo", "the compiler", "linker", "runtime", "the <code>go</code> command"},
- Packages: []string{"database/sql", "net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "linker", "runtime", "the <code>go</code> command"},
+ Packages: []string{"database/sql", "net/http"},
+ },
},
{
Date: Date{2021, 3, 11}, Version: Version{1, 16, 2},
- Components: []template.HTML{"cgo", "the compiler", "linker", "the <code>go</code> command"},
- Packages: []string{"syscall", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "linker", "the <code>go</code> command"},
+ Packages: []string{"syscall", "time"},
+ },
},
{
Date: Date{2021, 3, 11}, Version: Version{1, 15, 10},
- Components: []template.HTML{"the compiler", "the <code>go</code> command"},
- Packages: []string{"net/http", "os", "syscall", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "the <code>go</code> command"},
+ Packages: []string{"net/http", "os", "syscall", "time"},
+ },
},
{
- Date: Date{2021, 3, 10}, Version: Version{1, 16, 1}, Security: true,
- Packages: []string{"archive/zip", "encoding/xml"},
+ Date: Date{2021, 3, 10}, Version: Version{1, 16, 1},
+ Security: &FixSummary{Packages: []string{"archive/zip", "encoding/xml"}},
},
{
- Date: Date{2021, 3, 10}, Version: Version{1, 15, 9}, Security: true,
- Packages: []string{"encoding/xml"},
+ Date: Date{2021, 3, 10}, Version: Version{1, 15, 9},
+ Security: &FixSummary{Packages: []string{"encoding/xml"}},
},
{
Date: Date{2021, 2, 16}, Version: Version{1, 16, 0},
},
{
Date: Date{2021, 2, 4}, Version: Version{1, 15, 8},
- Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
- Packages: []string{"net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2021, 2, 4}, Version: Version{1, 14, 15},
- Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
- Packages: []string{"net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
+ Packages: []string{"net/http"},
+ },
},
{
- Date: Date{2021, 1, 19}, Version: Version{1, 15, 7}, Security: true,
- Components: []template.HTML{"the <code>go</code> command"},
- Packages: []string{"crypto/elliptic"},
+ Date: Date{2021, 1, 19}, Version: Version{1, 15, 7},
+ Security: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> command"},
+ Packages: []string{"crypto/elliptic"},
+ },
},
{
- Date: Date{2021, 1, 19}, Version: Version{1, 14, 14}, Security: true,
- Components: []template.HTML{"the <code>go</code> command"},
- Packages: []string{"crypto/elliptic"},
+ Date: Date{2021, 1, 19}, Version: Version{1, 14, 14},
+ Security: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> command"},
+ Packages: []string{"crypto/elliptic"},
+ },
},
{
Date: Date{2020, 12, 3}, Version: Version{1, 15, 6},
- Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
- Packages: []string{"io"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "the <code>go</code> command"},
+ Packages: []string{"io"},
+ },
},
{
Date: Date{2020, 12, 3}, Version: Version{1, 14, 13},
- Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime", "the <code>go</code> command"},
+ },
},
{
- Date: Date{2020, 11, 12}, Version: Version{1, 15, 5}, Security: true,
- Components: []template.HTML{"the <code>go</code> command"},
- Packages: []string{"math/big"},
+ Date: Date{2020, 11, 12}, Version: Version{1, 15, 5},
+ Security: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> command"},
+ Packages: []string{"math/big"},
+ },
},
{
- Date: Date{2020, 11, 12}, Version: Version{1, 14, 12}, Security: true,
- Components: []template.HTML{"the <code>go</code> command"},
- Packages: []string{"math/big"},
+ Date: Date{2020, 11, 12}, Version: Version{1, 14, 12},
+ Security: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> command"},
+ Packages: []string{"math/big"},
+ },
},
{
Date: Date{2020, 11, 5}, Version: Version{1, 15, 4},
- Components: []template.HTML{"cgo", "the compiler", "linker", "runtime"},
- Packages: []string{"compress/flate", "net/http", "reflect", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "linker", "runtime"},
+ Packages: []string{"compress/flate", "net/http", "reflect", "time"},
+ },
},
{
Date: Date{2020, 11, 5}, Version: Version{1, 14, 11},
- Components: []template.HTML{"the runtime"},
- Packages: []string{"net/http", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the runtime"},
+ Packages: []string{"net/http", "time"},
+ },
},
{
Date: Date{2020, 10, 14}, Version: Version{1, 15, 3},
- Components: []template.HTML{"cgo", "the compiler", "runtime", "the <code>go</code> command"},
- Packages: []string{"bytes", "plugin", "testing"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "runtime", "the <code>go</code> command"},
+ Packages: []string{"bytes", "plugin", "testing"},
+ },
},
{
Date: Date{2020, 10, 14}, Version: Version{1, 14, 10},
- Components: []template.HTML{"the compiler", "runtime"},
- Packages: []string{"plugin", "testing"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime"},
+ Packages: []string{"plugin", "testing"},
+ },
},
{
Date: Date{2020, 9, 9}, Version: Version{1, 15, 2},
- Components: []template.HTML{"the compiler", "runtime", "documentation", "the <code>go</code> command"},
- Packages: []string{"net/mail", "os", "sync", "testing"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime", "documentation", "the <code>go</code> command"},
+ Packages: []string{"net/mail", "os", "sync", "testing"},
+ },
},
{
Date: Date{2020, 9, 9}, Version: Version{1, 14, 9},
- Components: []template.HTML{"the compiler", "linker", "runtime", "documentation"},
- Packages: []string{"net/http", "testing"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "documentation"},
+ Packages: []string{"net/http", "testing"},
+ },
},
{
- Date: Date{2020, 9, 1}, Version: Version{1, 15, 1}, Security: true,
- Packages: []string{"net/http/cgi", "net/http/fcgi"},
+ Date: Date{2020, 9, 1}, Version: Version{1, 15, 1},
+ Security: &FixSummary{Packages: []string{"net/http/cgi", "net/http/fcgi"}},
},
{
- Date: Date{2020, 9, 1}, Version: Version{1, 14, 8}, Security: true,
- Packages: []string{"net/http/cgi", "net/http/fcgi"},
+ Date: Date{2020, 9, 1}, Version: Version{1, 14, 8},
+ Security: &FixSummary{Packages: []string{"net/http/cgi", "net/http/fcgi"}},
},
{
Date: Date{2020, 8, 11}, Version: Version{1, 15, 0},
},
{
- Date: Date{2020, 8, 6}, Version: Version{1, 14, 7}, Security: true,
- Packages: []string{"encoding/binary"},
+ Date: Date{2020, 8, 6}, Version: Version{1, 14, 7},
+ Security: &FixSummary{Packages: []string{"encoding/binary"}},
},
{
- Date: Date{2020, 8, 6}, Version: Version{1, 13, 15}, Security: true,
- Packages: []string{"encoding/binary"},
+ Date: Date{2020, 8, 6}, Version: Version{1, 13, 15},
+ Security: &FixSummary{Packages: []string{"encoding/binary"}},
},
{
Date: Date{2020, 7, 16}, Version: Version{1, 14, 6},
- Components: []template.HTML{"the <code>go</code> command", "the compiler", "the linker", "vet"},
- Packages: []string{"database/sql", "encoding/json", "net/http", "reflect", "testing"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> command", "the compiler", "the linker", "vet"},
+ Packages: []string{"database/sql", "encoding/json", "net/http", "reflect", "testing"},
+ },
},
{
Date: Date{2020, 7, 16}, Version: Version{1, 13, 14},
- Components: []template.HTML{"the compiler", "vet"},
- Packages: []string{"database/sql", "net/http", "reflect"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "vet"},
+ Packages: []string{"database/sql", "net/http", "reflect"},
+ },
},
{
- Date: Date{2020, 7, 14}, Version: Version{1, 14, 5}, Security: true,
- Packages: []string{"crypto/x509", "net/http"},
+ Date: Date{2020, 7, 14}, Version: Version{1, 14, 5},
+ Security: &FixSummary{Packages: []string{"crypto/x509", "net/http"}},
},
{
- Date: Date{2020, 7, 14}, Version: Version{1, 13, 13}, Security: true,
- Packages: []string{"crypto/x509", "net/http"},
+ Date: Date{2020, 7, 14}, Version: Version{1, 13, 13},
+ Security: &FixSummary{Packages: []string{"crypto/x509", "net/http"}},
},
{
Date: Date{2020, 6, 1}, Version: Version{1, 14, 4},
- Components: []template.HTML{"the <code>go</code> <code>doc</code> command", "the runtime"},
- Packages: []string{"encoding/json", "os"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the <code>go</code> <code>doc</code> command", "the runtime"},
+ Packages: []string{"encoding/json", "os"},
+ },
},
{
Date: Date{2020, 6, 1}, Version: Version{1, 13, 12},
- Components: []template.HTML{"the runtime"},
- Packages: []string{"go/types", "math/big"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the runtime"},
+ Packages: []string{"go/types", "math/big"},
+ },
},
{
Date: Date{2020, 5, 14}, Version: Version{1, 14, 3},
- Components: []template.HTML{"cgo", "the compiler", "the runtime"},
- Packages: []string{"go/doc", "math/big"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "the runtime"},
+ Packages: []string{"go/doc", "math/big"},
+ },
},
{
Date: Date{2020, 5, 14}, Version: Version{1, 13, 11},
- Components: []template.HTML{"the compiler"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler"},
+ },
},
{
Date: Date{2020, 4, 8}, Version: Version{1, 14, 2},
- Components: []template.HTML{"cgo", "the go command", "the runtime"},
- Packages: []string{"os/exec", "testing"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the go command", "the runtime"},
+ Packages: []string{"os/exec", "testing"},
+ },
},
{
Date: Date{2020, 4, 8}, Version: Version{1, 13, 10},
- Components: []template.HTML{"the go command", "the runtime"},
- Packages: []string{"os/exec", "time"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "the runtime"},
+ Packages: []string{"os/exec", "time"},
+ },
},
{
Date: Date{2020, 3, 19}, Version: Version{1, 14, 1},
- Components: []template.HTML{"the go command", "tools", "the runtime"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "tools", "the runtime"},
+ },
},
{
Date: Date{2020, 3, 19}, Version: Version{1, 13, 9},
- Components: []template.HTML{"the go command", "tools", "the runtime", "the toolchain"},
- Packages: []string{"crypto/cypher"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "tools", "the runtime", "the toolchain"},
+ Packages: []string{"crypto/cypher"},
+ },
},
{
Date: Date{2020, 2, 25}, Version: Version{1, 14, 0},
},
{
Date: Date{2020, 2, 12}, Version: Version{1, 13, 8},
- Components: []template.HTML{"the runtime"},
- Packages: []string{"crypto/x509", "net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the runtime"},
+ Packages: []string{"crypto/x509", "net/http"},
+ },
},
{
Date: Date{2020, 2, 12}, Version: Version{1, 12, 17},
- Quantifier: "a",
- Components: []template.HTML{"the runtime"},
+ Bug: &FixSummary{
+ Quantifier: "a",
+ Components: []template.HTML{"the runtime"},
+ },
},
{
- Date: Date{2020, 1, 28}, Version: Version{1, 13, 7}, Security: true,
- Quantifier: "two",
- Packages: []string{"crypto/x509"},
+ Date: Date{2020, 1, 28}, Version: Version{1, 13, 7},
+ Security: &FixSummary{Quantifier: "two", Packages: []string{"crypto/x509"}},
},
{
- Date: Date{2020, 1, 28}, Version: Version{1, 12, 16}, Security: true,
- Quantifier: "two",
- Packages: []string{"crypto/x509"},
+ Date: Date{2020, 1, 28}, Version: Version{1, 12, 16},
+ Security: &FixSummary{Quantifier: "two", Packages: []string{"crypto/x509"}},
},
{
Date: Date{2020, 1, 9}, Version: Version{1, 13, 6},
- Components: []template.HTML{"the runtime"},
- Packages: []string{"net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the runtime"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2020, 1, 9}, Version: Version{1, 12, 15},
- Components: []template.HTML{"the runtime"},
- Packages: []string{"net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the runtime"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2019, 12, 4}, Version: Version{1, 13, 5},
- Components: []template.HTML{"the go command", "the runtime", "the linker"},
- Packages: []string{"net/http"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "the runtime", "the linker"},
+ Packages: []string{"net/http"},
+ },
},
{
Date: Date{2019, 12, 4}, Version: Version{1, 12, 14},
- Quantifier: "a",
- Components: []template.HTML{"the runtime"},
+ Bug: &FixSummary{
+ Quantifier: "a",
+ Components: []template.HTML{"the runtime"},
+ },
},
{
Date: Date{2019, 10, 31}, Version: Version{1, 13, 4},
- Packages: []string{"net/http", "syscall"},
+ Bug: &FixSummary{
+ Packages: []string{"net/http", "syscall"},
+ },
More: `It also fixes an issue on macOS 10.15 Catalina
where the non-notarized installer and binaries were being
<a href="/issue/34986">rejected by Gatekeeper</a>.`,
@@ -412,73 +507,93 @@
},
{
Date: Date{2019, 10, 17}, Version: Version{1, 13, 3},
- Components: []template.HTML{"the go command", "the toolchain", "the runtime"},
- Packages: []string{"syscall", "net", "net/http", "crypto/ecdsa"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "the toolchain", "the runtime"},
+ Packages: []string{"crypto/ecdsa", "net", "net/http", "syscall"},
+ },
},
{
Date: Date{2019, 10, 17}, Version: Version{1, 12, 12},
- Components: []template.HTML{"the go command", "runtime"},
- Packages: []string{"syscall", "net"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "runtime"},
+ Packages: []string{"net", "syscall"},
+ },
},
{
- Date: Date{2019, 10, 17}, Version: Version{1, 13, 2}, Security: true,
- Components: []template.HTML{"the compiler"},
- Packages: []string{"crypto/dsa"},
+ Date: Date{2019, 10, 17}, Version: Version{1, 13, 2},
+ Security: &FixSummary{
+ Components: []template.HTML{"the compiler"},
+ Packages: []string{"crypto/dsa"},
+ },
},
{
- Date: Date{2019, 10, 17}, Version: Version{1, 12, 11}, Security: true,
- Packages: []string{"crypto/dsa"},
+ Date: Date{2019, 10, 17}, Version: Version{1, 12, 11},
+ Security: &FixSummary{Packages: []string{"crypto/dsa"}},
},
{
- Date: Date{2019, 9, 25}, Version: Version{1, 13, 1}, Security: true,
- Packages: []string{"net/http", "net/textproto"},
+ Date: Date{2019, 9, 25}, Version: Version{1, 13, 1},
+ Security: &FixSummary{Packages: []string{"net/http", "net/textproto"}},
},
{
- Date: Date{2019, 9, 25}, Version: Version{1, 12, 10}, Security: true,
- Packages: []string{"net/http", "net/textproto"},
+ Date: Date{2019, 9, 25}, Version: Version{1, 12, 10},
+ Security: &FixSummary{Packages: []string{"net/http", "net/textproto"}},
},
{
Date: Date{2019, 9, 3}, Version: Version{1, 13, 0},
},
{
Date: Date{2019, 8, 15}, Version: Version{1, 12, 9},
- Components: []template.HTML{"the linker"},
- Packages: []string{"os", "math/big"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the linker"},
+ Packages: []string{"math/big", "os"},
+ },
},
{
- Date: Date{2019, 8, 13}, Version: Version{1, 12, 8}, Security: true,
- Packages: []string{"net/http", "net/url"},
+ Date: Date{2019, 8, 13}, Version: Version{1, 12, 8},
+ Security: &FixSummary{Packages: []string{"net/http", "net/url"}},
},
{
- Date: Date{2019, 8, 13}, Version: Version{1, 11, 13}, Security: true,
- Packages: []string{"net/http", "net/url"},
+ Date: Date{2019, 8, 13}, Version: Version{1, 11, 13},
+ Security: &FixSummary{Packages: []string{"net/http", "net/url"}},
},
{
Date: Date{2019, 7, 8}, Version: Version{1, 12, 7},
- Components: []template.HTML{"cgo", "the compiler", "the linker"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "the linker"},
+ },
},
{
Date: Date{2019, 7, 8}, Version: Version{1, 11, 12},
- Components: []template.HTML{"the compiler", "the linker"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "the linker"},
+ },
},
{
Date: Date{2019, 6, 11}, Version: Version{1, 12, 6},
- Components: []template.HTML{"the compiler", "the linker", "the go command"},
- Packages: []string{"crypto/x509", "net/http", "os"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "the linker", "the go command"},
+ Packages: []string{"crypto/x509", "net/http", "os"},
+ },
},
{
Date: Date{2019, 6, 11}, Version: Version{1, 11, 11},
- Quantifier: "a",
- Packages: []string{"crypto/x509"},
+ Bug: &FixSummary{
+ Quantifier: "a",
+ Packages: []string{"crypto/x509"},
+ },
},
{
Date: Date{2019, 5, 6}, Version: Version{1, 12, 5},
- Components: []template.HTML{"the compiler", "the linker", "the go command", "the runtime"},
- Packages: []string{"os"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "the linker", "the go command", "the runtime"},
+ Packages: []string{"os"},
+ },
},
{
Date: Date{2019, 5, 6}, Version: Version{1, 11, 10},
- Components: []template.HTML{"the runtime", "the linker"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the runtime", "the linker"},
+ },
},
{
Date: Date{2019, 4, 11}, Version: Version{1, 12, 4},
@@ -510,41 +625,49 @@
},
{
Date: Date{2019, 4, 5}, Version: Version{1, 12, 2},
- Components: []template.HTML{"the compiler", "the go command", "the runtime"},
- Packages: []string{"doc", "net", "net/http/httputil", "os"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "the go command", "the runtime"},
+ Packages: []string{"doc", "net", "net/http/httputil", "os"},
+ },
},
{
Date: Date{2019, 4, 5}, Version: Version{1, 11, 7},
- Components: []template.HTML{"the runtime"},
- Packages: []string{"net"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the runtime"},
+ Packages: []string{"net"},
+ },
},
{
Date: Date{2019, 3, 14}, Version: Version{1, 12, 1},
- Components: []template.HTML{"cgo", "the compiler", "the go command"},
- Packages: []string{"fmt", "net/smtp", "os", "path/filepath", "sync", "text/template"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "the go command"},
+ Packages: []string{"fmt", "net/smtp", "os", "path/filepath", "sync", "text/template"},
+ },
},
{
Date: Date{2019, 3, 14}, Version: Version{1, 11, 6},
- Components: []template.HTML{"cgo", "the compiler", "linker", "runtime", "go command"},
- Packages: []string{"crypto/x509", "encoding/json", "net", "net/url"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "linker", "runtime", "go command"},
+ Packages: []string{"crypto/x509", "encoding/json", "net", "net/url"},
+ },
},
{
Date: Date{2019, 2, 25}, Version: Version{1, 12, 0},
},
{
- Date: Date{2019, 1, 23}, Version: Version{1, 11, 5}, Security: true,
- Quantifier: "a",
- Packages: []string{"crypto/elliptic"},
+ Date: Date{2019, 1, 23}, Version: Version{1, 11, 5},
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"crypto/elliptic"}},
},
{
- Date: Date{2019, 1, 23}, Version: Version{1, 10, 8}, Security: true,
- Quantifier: "a",
- Packages: []string{"crypto/elliptic"},
+ Date: Date{2019, 1, 23}, Version: Version{1, 10, 8},
+ Security: &FixSummary{Quantifier: "a", Packages: []string{"crypto/elliptic"}},
},
{
Date: Date{2018, 12, 14}, Version: Version{1, 11, 4},
- Components: []template.HTML{"cgo", "the compiler", "linker", "runtime", "documentation", "go command"},
- Packages: []string{"net/http", "go/types"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"cgo", "the compiler", "linker", "runtime", "documentation", "go command"},
+ Packages: []string{"go/types", "net/http"},
+ },
More: `It includes a fix to a bug introduced in Go 1.11.3 that broke <code>go</code>
<code>get</code> for import path patterns containing "<code>...</code>".`,
},
@@ -558,96 +681,123 @@
Go 1.10.7 milestone</a> on our issue tracker for details.`,
},
{
- Date: Date{2018, 12, 12}, Version: Version{1, 11, 3}, Security: true,
- Quantifier: "three",
- Components: []template.HTML{`"go get"`},
- Packages: []string{"crypto/x509"},
+ Date: Date{2018, 12, 12}, Version: Version{1, 11, 3},
+ Security: &FixSummary{
+ Quantifier: "three",
+ Components: []template.HTML{`"go get"`},
+ Packages: []string{"crypto/x509"},
+ },
},
{
- Date: Date{2018, 12, 12}, Version: Version{1, 10, 6}, Security: true,
- Quantifier: "three",
- Components: []template.HTML{`"go get"`},
- Packages: []string{"crypto/x509"},
- More: "It contains the same fixes as Go 1.11.3 and was released at the same time.",
+ Date: Date{2018, 12, 12}, Version: Version{1, 10, 6},
+ Security: &FixSummary{
+ Quantifier: "three",
+ Components: []template.HTML{`"go get"`},
+ Packages: []string{"crypto/x509"},
+ },
+ More: "It contains the same fixes as Go 1.11.3 and was released at the same time.",
},
{
Date: Date{2018, 11, 2}, Version: Version{1, 11, 2},
- Components: []template.HTML{"the compiler", "linker", "documentation", "go command"},
- Packages: []string{"database/sql", "go/types"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "documentation", "go command"},
+ Packages: []string{"database/sql", "go/types"},
+ },
},
{
Date: Date{2018, 11, 2}, Version: Version{1, 10, 5},
- Components: []template.HTML{"the go command", "linker", "runtime"},
- Packages: []string{"database/sql"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "linker", "runtime"},
+ Packages: []string{"database/sql"},
+ },
},
{
Date: Date{2018, 10, 1}, Version: Version{1, 11, 1},
- Components: []template.HTML{"the compiler", "documentation", "go command", "runtime"},
- Packages: []string{"crypto/x509", "encoding/json", "go/types", "net", "net/http", "reflect"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "documentation", "go command", "runtime"},
+ Packages: []string{"crypto/x509", "encoding/json", "go/types", "net", "net/http", "reflect"},
+ },
},
{
Date: Date{2018, 8, 24}, Version: Version{1, 11, 0},
},
{
Date: Date{2018, 8, 24}, Version: Version{1, 10, 4},
- Components: []template.HTML{"the go command", "linker"},
- Packages: []string{"net/http", "mime/multipart", "ld/macho", "bytes", "strings"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command", "linker"},
+ Packages: []string{"bytes", "mime/multipart", "net/http", "strings"},
+ },
},
{
Date: Date{2018, 6, 5}, Version: Version{1, 10, 3},
- Components: []template.HTML{"the go command"},
- Packages: []string{"crypto/tls", "crypto/x509", "strings"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command"},
+ Packages: []string{"crypto/tls", "crypto/x509", "strings"},
+ },
More: `In particular, it adds <a href="https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9">
minimal support to the go command for the vgo transition</a>.`,
},
{
Date: Date{2018, 6, 5}, Version: Version{1, 9, 7},
- Components: []template.HTML{"the go command"},
- Packages: []string{"crypto/x509", "strings"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the go command"},
+ Packages: []string{"crypto/x509", "strings"},
+ },
More: `In particular, it adds <a href="https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9">
minimal support to the go command for the vgo transition</a>.`,
},
{
Date: Date{2018, 5, 1}, Version: Version{1, 10, 2},
- Components: []template.HTML{"the compiler", "linker", "go command"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "go command"},
+ },
},
{
Date: Date{2018, 5, 1}, Version: Version{1, 9, 6},
- Components: []template.HTML{"the compiler", "go command"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "go command"},
+ },
},
{
Date: Date{2018, 3, 28}, Version: Version{1, 10, 1},
- Components: []template.HTML{"the compiler", "runtime"},
- Packages: []string{"archive/zip", "crypto/tls", "crypto/x509", "encoding/json", "net", "net/http", "net/http/pprof"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime"},
+ Packages: []string{"archive/zip", "crypto/tls", "crypto/x509", "encoding/json", "net", "net/http", "net/http/pprof"},
+ },
},
{
Date: Date{2018, 3, 28}, Version: Version{1, 9, 5},
- Components: []template.HTML{"the compiler", "go command"},
- Packages: []string{"net/http/pprof"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "go command"},
+ Packages: []string{"net/http/pprof"},
+ },
},
{
Date: Date{2018, 2, 16}, Version: Version{1, 10, 0},
},
{
- Date: Date{2018, 2, 7}, Version: Version{1, 9, 4}, Security: true,
- Quantifier: "a",
- Components: []template.HTML{`"go get"`},
+ Date: Date{2018, 2, 7}, Version: Version{1, 9, 4},
+ Security: &FixSummary{Quantifier: "a", Components: []template.HTML{`"go get"`}},
},
{
Date: Date{2018, 1, 22}, Version: Version{1, 9, 3},
- Components: []template.HTML{"the compiler", "runtime"},
- Packages: []string{"database/sql", "math/big", "net/http", "net/url"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "runtime"},
+ Packages: []string{"database/sql", "math/big", "net/http", "net/url"},
+ },
},
{
Date: Date{2017, 10, 25}, Version: Version{1, 9, 2},
- Components: []template.HTML{"the compiler", "linker", "runtime", "documentation", "<code>go</code> command"},
- Packages: []string{"crypto/x509", "database/sql", "log", "net/smtp"},
+ Bug: &FixSummary{
+ Components: []template.HTML{"the compiler", "linker", "runtime", "documentation", "<code>go</code> command"},
+ Packages: []string{"crypto/x509", "database/sql", "log", "net/smtp"},
+ },
More: `It includes a fix to a bug introduced in Go 1.9.1 that broke <code>go</code> <code>get</code>
of non-Git repositories under certain conditions.`,
},
{
- Date: Date{2017, 10, 4}, Version: Version{1, 9, 1}, Security: true,
- Quantifier: "two",
+ Date: Date{2017, 10, 4}, Version: Version{1, 9, 1},
+ Security: &FixSummary{Quantifier: "two"},
},
{
Date: Date{2017, 8, 24}, Version: Version{1, 9, 0},
diff --git a/internal/history/release_test.go b/internal/history/release_test.go
index d0759ca..b323a2c 100644
--- a/internal/history/release_test.go
+++ b/internal/history/release_test.go
@@ -5,6 +5,7 @@
package history
import (
+ "sort"
"testing"
"time"
)
@@ -36,5 +37,21 @@
t.Errorf("jumped from %v to %v", old, r.Version)
}
lastMinor[major] = r.Version.Z
+ if r.Security != nil {
+ if p := r.Security.Packages; !sort.StringsAreSorted(p) {
+ t.Errorf("version %v security fix packages out of order: %v vs %v", r.Version, p, sorted(p))
+ }
+ }
+ if r.Bug != nil {
+ if p := r.Bug.Packages; !sort.StringsAreSorted(p) {
+ t.Errorf("version %v bug fix packages out of order: %v vs %v", r.Version, p, sorted(p))
+ }
+ }
}
}
+
+func sorted(s []string) []string {
+ s = append([]string(nil), s...)
+ sort.Strings(s)
+ return s
+}